Upload avec PHP - débutant

Résolu
systemsb Messages postés 21 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 mars 2011 - 15 déc. 2008 à 12:05
islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012 - 15 déc. 2008 à 14:17
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

islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012
15 déc. 2008 à 14:07
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
3
islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012
15 déc. 2008 à 14:12
de toute façon je l'ai essayé chez moi et sa marche très bien.
(désoler pour le langage S.M.S )
0
systemsb Messages postés 21 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 17 mars 2011
15 déc. 2008 à 14:13
Ça marche aussi chez moi maintenant !

YOUPI !!!
0
islyoung2 Messages postés 12 Date d'inscription samedi 18 juillet 2009 Statut Membre Dernière intervention 7 février 2012
15 déc. 2008 à 14:17
Heureux pour toi
0
Rejoignez-nous