Upload avec PHP - débutant [Résolu]

Signaler
Messages postés
21
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
17 mars 2011
-
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012
-
Bonjour,

Je suis en train d'essayer un petit bout de code en php pour faire un Upload.
J'ai monté sur mon pc sous Windows XP le serveur : IIS  (5.1)
J'ai installé PHP en suivant les tutoriels.
Le Upload ne fonctionne pas, il ne copie rien...et je ne vois rien non plus dans le répertoire temporaire définit dans php.ini

voici les codes sources :

HTML:
<form method= "POST" action="upload.php" enctype="multipart/form-data">
    <!-- on limite le fichier a 1 Mo -->
   
    Fichier :
   
</form>

PHP:
<?php
$dossier = 'upload/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');

if( !is_uploaded_file($tmp_file) )
    {
        echo 'Voici l erreur =  @@@';
        echo $_FILES['avatar']['error'];
        echo ' @@@                  ';
        exit("Le fichier est introuvable");
    }

//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur,  on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier,
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     
     echo '(2) Voici le nom du fichier : ';
     echo $_FILES['avatar']['tmp_name'];
     echo '  à transferer dans : ';
     echo $dossier . $fichier ;
     echo '  ';
    
     // J'ai mis le move_upload en commentaire pour voir la trace du fichier dans les temporaires.
     //if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     //{
     //     echo 'Upload effectué avec succès !';
     //}
     //else //Sinon (la fonction renvoie FALSE).
     //{
     //     echo 'Echec de l\'upload !';
     //}
}
else
{
     echo $erreur;
}
?>

Quelqu'un a t il une idée, pourquoi le fichier uploader n'arrive pas dans les temporaires ?
Note : J'ai analysé avec Wireshark le fichier est bien uploader...mais apparement pour rien...Evidement, j'ai recherché mon fichier sur tout le disque....mais rien aucune trace....

Merci de votre aide.

4 réponses

Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012

Salut;
tu dois ajouter la ligne suivante : $tmp_file = $_FILES['avatar']['tmp_name'];
dans ton script php avant le test   : if( !is_uploaded_file($tmp_file) )
.
j'espère que sa marchera, de toute façon je les essayer ton script et sa marche très bien, bon courage
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012

de toute façon je l'ai essayé chez moi et sa marche très bien.
(désoler pour le langage S.M.S )
Messages postés
21
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
17 mars 2011

Ça marche aussi chez moi maintenant !

YOUPI !!!
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
7 février 2012

Heureux pour toi