Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/02/2011, 22h44   #1
Invité régulier
 
Inscription : mai 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 61
Points : 7
Points : 7
Par défaut Erreur avec move_uploaded_file()

Bonsoir,

Je cherche à télécharger sur le serveur (ZazouMiniWebServeur) une image avec un formulaire HTML en méthode POST, mais deux erreurs apparaissent et je ne trouve pas le problème:

Warning: move_uploaded_file(/Images/140.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in F:\Logiciels\Developpement\ZMWS\_web.zmwsc\Cuisine\enregistrement.php on line 14

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\Documents and Settings\Mickael\Local Settings\Temp\php3E.tmp' to '/Images/140.jpg' in F:\Logiciels\Developpement\ZMWS\_web.zmwsc\Cuisine\enregistrement.php on line 14

Voici les codes:
Code :
1
2
3
4
5
6
7
8
<html>
<form action="enregistrement.php" method="post" enctype="multipart/form-data">
<fieldset><legend>Photo</legend>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input type="file" name="photo" value="" accept="image/jpg, image/jpeg, image/gif, image/png" />	
</fieldset>
</form>
</html>
Code :
1
2
3
4
5
6
<?php
$upload_dir = '/Images/';
$upload_file = $upload_dir .basename($_FILES['photo']['name']);
 
move_uploaded_file($_FILES['photo']['tmp_name'], $upload_file);
?>
plus d'infos:

- php.ini: file_uploads = On; upload_tmp_dir = (défaut); upload_max_filesize = 2M; max_file_uploads = 20

- Source de l'image:
Code :
1
2
3
4
echo $_FILES['photo']['tmp_name'];
/* 
Affiche=> C:\Documents and Settings\Mickael\Local Settings\Temp\php3E.tmp
*/
- Destination de l'image:
Code :
1
2
3
4
echo $upload_file;
/* 
Affiche=> /Images/140.jpg
*/
- Le fichier:
Code :
1
2
3
4
5
6
print_r($_FILES);
/* 
Affiche=> Array ( [photo] => Array ( [name] => 140.jpg [type] =>
image/jpeg [tmp_name] => C:\Documents and Settings\Mickael\Local 
Settings\Temp\php3E.tmp [error] => 0 [size] => 6333 ) )
*/
D'avance, merci.
mickael28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 01h15   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
enlève le premier slash de $upload_dir = '/Images/' si le script se trouve dans le meme dossier que ton dossier Images sinon ../Images si ton script est dans un dossier contenu dans le meme dossier qui contient le dossier Images...bref...utilise un bon chemin relatif par rapport au script enregistrement.php!
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 15/02/2011, 09h21   #3
Invité régulier
 
Inscription : mai 2008
Messages : 61
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 61
Points : 7
Points : 7
C'est bon cela fonctionne.

Je pensais qu'il fallait écrire comme ceci "../dossier/" pour un retour en arrière dans l'arborescence.

Merci et bonne journée.
mickael28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h57.


 
 
 
 
Partenaires

Hébergement Web