Formulaire upload fichier = mauvais dossier [resolu] - PHP - Programmation
Marsh Posté le 04-09-2007 à 13:33:25
Apparemment je ne suis pas le seul ...
http://fr.php.net/manual/fr/functi [...] .php#52954
ça vient des chemins relatifs, faut que je trouve d'autre doc pour résoudre ça.
Marsh Posté le 04-09-2007 à 15:50:37
J'ai trouvé un moyen de résoudre ça.
J'utiise "opendir" seul, qui returne un pointeur sur un dossier.
Dans le move_uploaded_file, je passe en paramètre une concaaténation du dossier + nom de fichier (conbtrarement au nom seul dans mon exemple au dessus, puisque je pensais qu'en faisant un chdir, il l'enregistrerait dans le {nouveau} dossier courant.
Concrètement, ça donne :
Code :
|
Marsh Posté le 04-09-2007 à 12:39:32
Salut,
j'ai un formulaire de fichier qui marche une fois sur 2 ... Disons plus précisément qu'il n'uploade pas *systématiquement* au bon endroit ...
Ci dessous le code, et les essais.
Coté HTML :
(le formulaire a une méthode post et l'enctype en multipart/form-data)
coté PHP, je le récupère avec un move_uploaded_file.
Je fais un print_r($_FILES) juste avant le move_uploaded_files.
La condition :
(je vous passe les détails HTML)
En fait, lorsque je suis dans le formulaire (j'ai mis un echo "<br />\n0 : ".getcwd()."<br />\n"; avant le formulaire) j'ai ce chemin :
G:\www\dossier\script (jusque là, ok, je suis sous WAMP 1.7.2.)
Je mets un fichier, j'uploade. Mes marqueurs 1 et 2 m'indiquent :
Array ( [uploadfile_0] => Array ( [name] => fichier_test.txt [type] => text/plain [tmp_name] => gwamp/tmp\phpAF.tmp [error] => 0 [size] => 51 ) )
1 : G:\www\dossier\script
2 : G:\www\dossier\upload\files
**fichier_test.txt
Téléchargement réussi de la pièce jointe fichier_test.txt
Et surprise, le fichier n'est pas dans upload/files ... mais dans wamp\Apache2 !
Lorsque je refais exactement la même manip juste après, avec le même fichier, il se place bien dans upload/files
Si je refais la même manip avec un fichier différent, celui-ci se place dans wamp\Apache2 ...
Le problème est bêtement une question de dossier, je ne vois pas vraiment la différence entre opendir et chdir, tous 2 pointent vers le dossier passé par paramètre mais vu que tous mes essais ont les 2 commandes, je ne comprends pas que ça marche un coup et pas l'autre. Je suis en train de faire des essais dessus. Visiblement opendir seul ne marche pas plus.
Peut-être avez-vous de quoi éclairer ma lanterne ? Merci !
Message édité par NewsletTux le 04-09-2007 à 15:46:09