gérér extension lors de upload

gérér extension lors de upload - PHP - Programmation

Marsh Posté le 07-06-2006 à 09:15:41    

bjr ,  
 
voila mon souci j ai trouvé une fonction upload de fichier (elle fonction tres bien) sauf que dans cette fonction
 j aimerai tester l'extension du fichier que j upload  
les fichiers JPEG ,JPG ,PNG , GIF sont acceptés les autres ->message d erreur
 
mais je n arrive pas à l implanter au bon endroit dans ma fonction  
 
Quelqu'un peut il m aider (à noter qui il faut rajouter un parametre dans ma fonction"upload" ) que l on nommera $ext
 
voila mon code source
 

Code :
  1. <?php
  2. // fonction upload de photo
  3. function upload($destination , $userfile , $userfile_name , $userfile_size , $ext) {
  4. $Resultat='';
  5. // Taille maximale de l'upload  
  6. $size=102400;
  7. if ($userfile_size>$size)
  8. {
  9. $size_max_ko=$size/1024;
  10. $Resultat="Votre fichier est trop gros ($size_max_ko ko max).";
  11. echo "<script language=\"JavaScript\" type=\"text/JavaScript\">alert('$Resultat');</script>";
  12. }
  13.  if ($userfile!="none" && $userfile_size<$size && $userfile_size!=0)
  14.  {
  15.   if(!file_exists("$destination/$userfile_name" ))
  16.   {
  17.    // si le répertoire n'existe pas  
  18.    if(!file_exists("$destination" ))
  19.    {
  20.    mkdir("$destination",0775);
  21.    }
  22.     if (!move_uploaded_file($userfile, "$destination/$userfile_name" ))
  23.     {
  24.     $Resultat="Problème de transfert pour le fichier;";
  25.     echo "<script language=\"JavaScript\" type=\"text/JavaScript\">alert('$Resultat');</script>";
  26.     }
  27.     else
  28.     {
  29.     $Resultat="ok";
  30.     echo "<script language=\"JavaScript\" type=\"text/JavaScript\">alert('upload.$Resultat');</script>";
  31.     }
  32.    }
  33.    else
  34.    {
  35.    $Resultat="Le fichier ".$userfile_name." que vous voulez transférer existe dèjà dans votre répertoire.";
  36.    }
  37. }
  38. // Resultat  
  39. return $Resultat;
  40. }
  41. ?>


 
 
parametres de ma fonction upload
 
 $destination: rép sur votre serveur  
 $userfile: chemin du fichier source  
 $userfile_name: nom du fic destination.  
 $userfile_size: taille du fichier  
 $ext: extension de mon fichier


Message édité par mitch46000 le 07-06-2006 à 09:23:40
Reply

Marsh Posté le 07-06-2006 à 09:15:41   

Reply

Marsh Posté le 07-06-2006 à 22:59:37    

Que cherche-tu à faire avec $ext?
Dès le début tu peut tester si $ext est correct, avec par exemple l'expression régulière:

Code :
  1. if(!eregi("^\\.(jpg|jpeg|gif|png)$",$ext))
  2.   return "Mauvais format de fichier: ".htmlentities($ext)."<br>\n";


Sinon, il y a des fonctions pour extraire l'extension à partir d'un nom de fichier, par ex:
http://php.net/pathinfo
De plus, l'upload te donne automatiquement le type mime, c'est à dire le type de fichier au format standardisé web, voire pour + d'info sur l'upload:
http://fr2.php.net/manual/fr/features.file-upload.php


Message édité par nargy le 07-06-2006 à 23:02:33
Reply

Marsh Posté le 08-06-2006 à 08:52:02    

ok merci mais j y suis arriver à force de persévérer

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed