Upload de fichier

Eléphant du PHP | 50 Messages

09 mai 2008, 18:00

J'ai un gros soucis avec les upload de fichiers, peut etre que je n'utilise pas la bonne méthode mais j'éssai de vous donner ce que j'ai fais et votre aide me sera appréciable.
d'abbord je créer le formulaire charger de recuperer les infos dont j'ai besoin:
<form method="post" action="upload.php" enctype="multipart/form-data">
      <input type="hidden" name="MAX_FILE_SIZE" value="1000000"/>
      <td colspan="2" id="bloctete">  <input
      style=" border-bottom:1px solid; border-left:1px solid; border-right:1px solid; border-top:1px solid;COLOR: #000000; FONT-FAMILY: Tahoma" tabindex="1" size="20" 
      name="nom" value="Titre" /></td>
      <td align="left" id="bloctete"><input type="file" style=" border-bottom:1px solid; border-left:1px solid; border-right:1px solid; border-top:1px solid;COLOR: #000000; FONT-FAMILY: Tahoma" tabindex="1" size="20" name="fich" value="joindre un fichier" /></td>
      <td id="bloctete"><input type="submit" value="Envoyer"/></td>
      <td id="bloctete">&nbsp;</td>
 </form>
je signale ke le formulaire est en html,

mon fichier php charger de recuperer mon fichier se nomme upload et contient le code PHP suivant
//upload de fichier
if (isset($_FILES['fich']))
{
  //param
  unset($erreur);
  $extensions_ok=array('png', 'gif', 'jpg', 'jpeg');
  $taille_max=200000;
  $dest_dossier='../designpages/propos/';
 //vérification
   if( !in_array( substr(strrchr($_FILES['fich']['name'], '.'), 1), $extensions_ok ) )
   {    $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';    
   }  
   elseif( file_exists($_FILES['fich']['tmp_name'])
   and filesize($_FILES['fich']['tmp_name']) > $taille_max)  
   {    
   $erreur = 'Votre fichier doit faire moins de 2Mo !';  
   }
   // copie du fichier
   if(!isset($erreur))  
   {    
   $dest_fichier = basename($_FILES['fich']['name']);    
   // formatage nom fichier    
   // enlever les accents    
   $dest_fichier = strtr($dest_fichier,     
   'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',     
   'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');    
   // remplacer les caracteres autres que lettres, chiffres et point par _    
   $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);    
   // copie du fichier    
   move_uploaded_file($_FILES['fich']['tmp_name'], $dest_dossier . $dest_fichier);
   echo 'yes';  
   }
  } 
je vous signale que je me suis inspirer d'un tuto présent sur ce site, mais tout cela me semble bien flou. Au fait je le fais en local avec easyphp.
merci encore pour l'aide que vous m'apporterai sur ce sujet.

Mammouth du PHP | 1353 Messages

09 mai 2008, 18:25

Quel est le probleme ?

Un message d'erreur ?
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 50 Messages

09 mai 2008, 18:35

Bon j'ai réécris mon dossier de destination et par miracle mon upload fonctionne nickel, mais je dois encore gérer l'insertion dans une base de donnée en évitant biensur les doublons, puisque je dois utiliser sè Photos pour un afichage.
je souhaite aussi savoir comment pouvoir afficher des miniatures des photos uploader quelques soit leur taille.

Merci pour toutes les idées que vous pourrai m'apporter, moi je continu de chercher de mon coté.