Upload de fichier php

Résolu
Coutcout86 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -  
Coutcout86 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit soucis avec mon script PHP concernant l'upload de fichier. J'ai créé un fichier .csv et je souhaite l'uploader dans un dossier mais au moment de l'upload, il me dit que l'extension n'est pas correcte. Voici la partie de mon code :

$dossier = $CFG->dirroot.'/tmp/';
print_object($_FILES);
$fichier = basename($_FILES['listuser']['name']);
print_object($fichier);
$taille_maxi = 100000;
$taille = filesize($_FILES['listuser']['tmp_name']);
$extensions = array('csv', 'gif', 'jpg', 'jpeg');
$extension = strtolower(substr(strrchr($_FILES['listuser']['name'], '.'),1)); 
print_object($extension);
//Début des vérifications de sécurité...
if(in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Extension correcte';
}
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);
     if(move_uploaded_file($_FILES['listuser']['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;
}


Et je ne comprend pas d'où cela peut provenir. Pourriez-vous m'aider s'il vous plait?

Merci d'avance.
Romain.



A voir également:

4 réponses

Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
affiche ta variable extension pour y voir plus clair :)

Edit: Print_object , je connaissais pas :O [j'utilise var_dump / echo pour débug moi]
et donc, qu'est-ce que ça t'affiche ?
0
Coutcout86 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention  
 
La fonction print_object est une fonction que j'ai créé moi même c'est pour cela que tu connais pa ;) ! Ensuite j'ai fait un prin_object (ou var_dump) de ma variable extension et j'ai comme résultat : csv . Donc cela devrait fonctionner correctement non ?!
0
Freedomsoul Messages postés 509 Date d'inscription   Statut Membre Dernière intervention   97
 
Huuuum, ça devrait fonctionner en effet..

je n'ai rien pour tester d'ou je suis
je regarderai se soir (vers 18H) si personne ne trouve d'ici là

c'est bien tout in_array() qui renvoie faux hein ?
pour tantton tableau contient bien 'csv' et l'extension que tu recupères est 'csv', lowcase, ça c'est bon

... je verrais bien :P
0
Coutcout86 Messages postés 195 Date d'inscription   Statut Membre Dernière intervention  
 
Oki merci je vais chercher de mon coté :)
0