|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Bonjour,
Depuis quelque temps je cherches des tutoriaux avec des exemples qui pourrait m'avancer mais je ne trouve pas où plutôt ça ne correspond pas et je n'arrive pas à adapter. Jai un dossier ZIP (avec à l'intérieur un fichier XML), à partir d'un formulaire simple qui me demande de selectionner le dossier ZIP, après validation j'aimerais extraire le fichier, écrire dessus en ajoutant une phrase fixe à la ligne 2 enregistrer et afficher la page sur le navigateur... :o Comment est-ce possible ? Est-ce super dur ? Si quelqu'un a de bons conseils je suis preneur ! Merci d'avance, j'espère que j'ai étais assez explicite. A bientôt |
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Pour commencer cela dépend de votre version de PHP. Les versions supérieures à 5.2.0 disposent normalement par défaut de l'extension Zip, qui est plus évoluée (et orientée objet) que celle qui existait dans les versions 4 : elle gère l'écriture ou la création d'une archive, elle est capable de considérer une archive comme un flux (ceci vous permet d'aller lire - pas encore écrire - directement un fichier parmi celle-ci).
Par contre, si vous ne disposez pas de cette extension, il faudra se tourner vers des librairies PHP comme PclZip ou celle qui est distribuée avec phpMyAdmin. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Oui, j'utilise phpMyadmin, mais je peux utiliser du php 5.2.0 que je viens d'installer
Mais question code de la page, avez-vous des exemples ou pouvez vous me dire quelles fonctions à utiliser à peu près Merci de la réponse |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Peut-être celle-là : http://fr.php.net/manual/fr/ref.zip.php
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Oui j'avais déjà regardé ce lien, mais j'arrive pas du tout a adapter ce qu'ils disent avec ce que je veux faire
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Le fichier zip est-il a uploader sur le serveur? En gros est ce que le fichier zip est sur la machine du client?
Si oui, est ce que tu arrives a gérer l'upload du fichier zip déjà et si oui qu'est ce que tu n'arrives pas à faire dans ce cas? Montres nous où tu en es, ca sera un bon support pour commencer. |
|
|
00
|
|
|
#7 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
L'état actuel de l'extension Zip facilite beaucoup son usage. Un exemple utilisant SimpleXML et la propriété des flux Zip :
Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Oui le fichier est sur la machine du client.
En fait c'est une application intranet, un formulaire tout simple avec un boutton "parcourir" pour choisir le dossier ZIP (contenant toujours qu'un fichier XML) et un boutton valider qui éxécute (et/ou envoie ?) le dossier zip pour le lire et ajouter cette ligne fixe en 1ere ou 2e ligne : <?xml-stylesheet type="text/xsl" href="formeROA.xsl"?> Après cette mofidication il faudrait que le navigateur affiche la page XML (qui sera lisible puisque la ligne à ajouté c'est pour la mettre en forme) Voici le code du formulaire : Code :
ps: j'ai tester le code de julp, ça m'affiche cela : Fatal error: Cannot instantiate non-existent class: ziparchive in c:\program files\easyphp1-8\www\app\app.php on line 4 (et ligne 4 j'ai bien enlevé test.zip pour mettre le bon nom du dossier) Encore merci |
||
|
|
00
|
|
|
#9 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
L'extension Zip doit, bien évidemment, être activée. Avez-vous réellement une version 5.2.0 sous EasyPHP (de base, et pour la 1.8, il s'agit d'une version 4.3.10 si je ne m'abuse) ?
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
-_- Effectivement je suis sous php 4.3.10...
php 5.2 est requis ou facultatif ? :/ |
|
|
00
|
|
|
#11 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Pour vos besoins, les fonctions PHP 4 devraient alors suffire :
Code :
Vous devriez cependant envisager de migrer à PHP 5, passage qui ne présente que des avantages puisque vous y serez, sous peu, contraints. |
||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Merci beaucoup mais comment faire pour activer l'extension DOMXML ? j'ai vu que sur php 4.3 elle était dans le dossier mais inactive :s
|
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
dans ton fichier php.ini tu dois avoir une ligne du style
il faut que tu enlèves le ; devant pour l'activer (et redémarrer Apache) |
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Merci, c'est désormais activé
Mais après validation du formulaire j'ai ce message qui apparaît : Notice: Undefined index: file in c:\program files\easyphp1-8\www\app\applic.php on line 6 Warning: zip_open() Cannot open zip archive in c:\program files\easyphp1-8\www\app\applic.php on line 6 Erreur de lecture de l'archive (J'ai pourtant essayer de placer le dossier zip dans le même dossier que applic.php Comme l'impression que ça vient de mon contrôle du formulaire -_- le voici : Code :
|
||
|
|
00
|
|
|
#15 | ||||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Est-ce par upload que vous obtenez le fichier zip ? Si tel est le cas, votre formulaire est erroné :
Code HTML :
Code HTML :
Edit : il manque aussi le nom (attribut name) à votre input de type file. |
||||
|
|
00
|
|
|
#16 | ||||
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
Ok, et je met quoi à la place de ['tmp_name'] ? :o
Maintenant j'ai ceci dans le formulaire : Code :
Code :
|
||||
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 23 ![]() |
O-M-G c'est bon ! ça marche niquel ! Résultat obtenu que je voulais à 100% merci pour tout !!!
J'ai rajouté le nom dans le type file et j'ai corrigé mon contrôle du formulaire et c'est ok ! Encore MERCI ! ![]()
|
|
|
00
|
|
|
#18 | |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 9 ![]() |
Bonjour,
J'ai besoin d'effectuer le même genre de chose. J'utilise des fichiers ODT que je dois modifier en PHP. Je pars donc de modèles ODT renommés en .zip, j'ouvre et modifie le contenu du fichier content.xml comme expliqué ici : http://www.oofrance.com/actus/index....riter-avec-php Mais ce code ne marche pas et me génère un fichier content.xml inouvrable dans l'archive Citation:
addFromString('content.xml', "taratata")) çà marche et mon fichier est bien ouvrable! Dois-je procéder d'une manière diffénrente du fait qu'il s'agit d'un fichier xml? Merci |
|
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : avril 2004 Messages : 9 ![]() |
bon bin ca marche sur mon serveur de production, je vais pas me prendre la tête trop longtemps tant pis
Merci quand meme |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com