$_files : Fichier telecharge mais introuvable

Résolu
Saurnarion -  
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye de télécharger un fichier via un formulaire classique mais une fois télécharger, le fichier est introuvable par le système. Mais où qu'il est ??? :-).

Logiciel : WAMP, php 5.2.6, Apache 2.2.8, window XP, compte administrateur

Dans PHP.ini, le téléchargement est autorisé avec file_uploads = On et une limite à 50 Mo (upload_max_filesize = 50M). Le répertoire temporaire est upload_tmp_dir = "c:/wamp/tmp".

Lorsque je télécharge mon fichier, en faisant un print_r de la variable accueillant le fichier à télécharger, j'ai :
Array ( [ajtDoc] => Array ( [name] => X-65F.pdf [type] => application/pdf [tmp_name] => C:\wamp\tmp\php34.tmp [error] => 0 [size] => 2928018 ) )

Donc d'après cette ligne, le téléchargement s'est correctement effectué ([error] => 0) et le fichier devrait, le temps de l'exécution du script, se trouver là (C:\wamp\tmp\php34.tmp).

Or lorsque, juste après le print_r, je rajoute la ligne :
move_uploaded_file($_FILES['ajtDoc']['tmp_name'], $chemin_destination.$_FILES['ajtDoc']['name']);
j'ai l'erreur suivante :
Warning: move_uploaded_file(c:\wamp\www\convention\X-65F.pdf) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\scsm\convention\modif\document\ajout.php on line 12

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php37.tmp' to 'c:\wamp\www\convention\X-65F.pdf' in C:\wamp\www\scsm\convention\modif\document\ajout.php on line 12

avec :
$chemin_destination = "c:\\wamp\\www\\convention\\";

J'ai fait les "echo" suivant :
echo $_FILES['ajtDoc']['tmp_name'] => C:\wamp\tmp\php37.tmp
echo $chemin_destination.$_FILES['ajtDoc']['name'] => c:\wamp\www\convention\X-65F.pdf (répertoire qui existe)

D'après ce que je comprends, le fichier téléchargé dans le répertoire temporaire n'est pas trouvé. Pourtant, il n'y a pas eu d'erreur et dans le log, à part les deux lignes précédemment citées, aucune autre erreur est remontée.

Ca sent l'erreur gros comme la Porte d'Aix mais je ne la vois pas.

Mais que se passe t-il ?


4 réponses

Saurnarion
 
Ok c'est résolu. Un des répertoires (c:\wamp\www\covention) physique était mal orthographié.
3
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   19
 
Bonjour,

J'ai regardé vraiment vite fait et j'ai vu une chose étrange:
$chemin_destination = "c:\\wamp\\www\\convention\\";


Ca ne serait pas plutot :
$chemin_destination = "c:\wamp\www\convention\";
1
Saurnarion
 
Merci de ta réponse DoulyCreations,

$chemin_destination = "c:\wamp\www\convention\"; va causer un problème de compilation php puisque l'\ échappant le caractère suivant les " finales ne vont pas être prises comme clôture d'une déclaration de variable string mais faisant partie de cette variable.

Cependant, il est vrai que j'aurai pu mettre :
$chemin_destination = "c:\wamp\www\convention\\";
J'ai quand même essayé avec cette dernière ligne mais cela ne fonctionne pas.
1
DoulyCreations Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   19
 
Résolu,
je crois qu'on n'aurait pas trouvé :)
0