[résolu] upload de fichier

Eléphanteau du PHP | 43 Messages

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
<?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!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

08 nov. 2010, 23:34

salut,
Qu'est ce qui ne va pas ? > faute corrigée, c'est ok!
heu ça veut dire que tu n'a plus de problème ? (si oui tag le sujet enrésolu stp)

si non pour le cas ou : ajoute un test sur le retour de move_uploded_file

@+
Il en faut peu pour être heureux ......