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

Messages postés
21
Date d'inscription
mardi 4 octobre 2005
Dernière intervention
17 mars 2011
- - Dernière réponse : islyoung2
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Dernière intervention
7 février 2012
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 88 internautes nous ont dit merci ce mois-ci

Commenter la réponse de islyoung2
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Dernière intervention
7 février 2012
0
Merci
de toute façon je l'ai essayé chez moi et sa marche très bien.
(désoler pour le langage S.M.S )
Commenter la réponse de islyoung2
Messages postés
21
Date d'inscription
mardi 4 octobre 2005
Dernière intervention
17 mars 2011
0
Merci
Ça marche aussi chez moi maintenant !

YOUPI !!!
Commenter la réponse de systemsb
Messages postés
12
Date d'inscription
samedi 18 juillet 2009
Dernière intervention
7 février 2012
0
Merci
Heureux pour toi
Commenter la réponse de islyoung2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.