[résolu] upload de fichier
Posté : 08 nov. 2010, 23:15
Bonsoir. J'ai besoin de vous pour comprendre pourquoi mon code ne donne pas satisfaction. Tout se déroule comme il faudrait, je vois le fichier temporaire apparaître (F:\Program Files\EasyPHP5.2.10\tmp), puis en déplacement, et aucune trace du fichier dans le dossier définitif /www/download
Nom : 001_Sulawesi_Bunaken_EntreCielEtMer.JPG
Nom temporaire : F:\Program Files\EasyPHP5.2.10\tmp\php424.tmp
Taille : 104478
Type : image/jpeg
dossier download :F:/Program Files/EasyPHP5.2.10/www/download/
chemin complet :F:/Program Files/EasyPHP5.2.10/www/download/001_Sulawesi_Bunaken_EntreCielEtMer.JPG
le fichier a bien été envoyé!
Qu'est ce qui ne va pas ? > faute corrigée, c'est ok!
<?php
// La variable $_FILES de notre formulaire est-elle créée ?
if (isset($_FILES['fichier'])) {
if ($_FILES['fichier']['error'] == 0) {
// les variables
$name=$_FILES['fichier']['name'];
$tmp_name = $_FILES['fichier']['tmp_name']; // faute corrigée!
$uploads_dir = '/download/';
$definitif = $_SERVER['DOCUMENT_ROOT'].$uploads_dir.$name;
// Afficher les informations
echo "en ligne!</br>";
echo "Nom : " . $_FILES['fichier']['name'] . "</br>";
echo "Nom temporaire : " . $_FILES['fichier']['tmp_name']."</br>";
echo "Taille : " . $_FILES['fichier']['size'] . "</br>";
echo "Type : " . $_FILES['fichier']['type'] . "</br>";
echo "dossier download :".$_SERVER['DOCUMENT_ROOT'].$uploads_dir. "</br>";
echo "chemin complet :".$definitif. "</br>";
// Déplacer le fichier temporaire dans un dossier accessible, sous son nom original
move_uploaded_file($tmp_name, $definitif);
// Informer l'utilisateur
echo "le fichier a bien été envoyé!";
}
// Il y a une erreur...
else {
// L'afficher
echo "Erreur : ".$_FILES['fichier']['error']."</br>";
}
}
// $_FILES n'est pas créée, donc aucun fichier n'a été envoyé :
// nous affichons le formulaire d'envoi.
else { ?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<input type="file" name="fichier" /><br/>
<input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
<input type="submit" value="Transfert !" />
</form>
<?php
}
?>
ce qui donne sur une image :Nom : 001_Sulawesi_Bunaken_EntreCielEtMer.JPG
Nom temporaire : F:\Program Files\EasyPHP5.2.10\tmp\php424.tmp
Taille : 104478
Type : image/jpeg
dossier download :F:/Program Files/EasyPHP5.2.10/www/download/
chemin complet :F:/Program Files/EasyPHP5.2.10/www/download/001_Sulawesi_Bunaken_EntreCielEtMer.JPG
le fichier a bien été envoyé!
Qu'est ce qui ne va pas ? > faute corrigée, c'est ok!