Bonjour,
Je me retrouve face à un problème étrange :
J'ai un script d'upload qui fonctionne bien sur mon espace d'hébergement, mais qui rencontre un sérieux problème chez un autre hébergeur.
L'upload se fait bien car j'arrive à récupérer le nom du fichier temporaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php echo "<b>".$_FILES['ma_photo']['tmp_name']."</b>"; // renvoie : /tmp/phpRAeIIK ?>C'est au moment de déplacer l'image que rien ne se produit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php echo "<b>".$_FILES['ma_photo']['error']."</b>"; // renvoie : 0 ?>
J'ai un répertoire "images" à la racine.
Le chemin absolu de mon répertoire devrait donc être :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php echo "<b>".$_SERVER['document_root']"</b>"; // renvoie : /var/www/html/utilisateur/ ?>
/var/www/html/utilisateur/images/
Lorsque je veux déplacer mon fichier temporaire uploadé je fait (en simplifiant) :
J'ai essayé les chemins suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php $dest_dossier = "/var/www/html/utilisateur/images/"; $dest_fichier = "mon_fichier.jpg"; if (move_uploaded_file($_FILES['ma_photo']['tmp_name'], $dest_dossier . $dest_fichier)) { echo " <b>téléchargement ok <b>"; } else { echo "<b>Erreur de déplacement</b>"; } // renvoie : Erreur de déplacement ?>
Je n'y comprend rien du tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php $dest_dossier = "/var/www/html/utilisateur/images/"; $dest_dossier = "var/www/html/utilisateur/images/"; $dest_dossier = "/var/www/html/utilisateur/images"; // et les chemins relatifs aussi (mon script est dans un répertoite "/var/www/html/utilisateur/maintenance") $dest_dossier = "../images"; $dest_dossier = "../images/"; ?>
en faisant un phpinfo(), j'obtient :
file_uploads : on
upload_max_filesize : 15M
upload_tmp_dir : no value
post_max_size : 8M
Impossible de déplacer le fichier uploadé. Il n'y a pas d'erreur dans mon script qui fonctionne très bien sur un autre hébergeur.
1 ) Quelle peut être mon erreur (si il y en a une).
2 ) Est-il possible que le problème vienne de la configuration serveur (je n'ai pas accès au php.ini).
Merci d'avance, je m'arrache les cheveux...
Partager