Page 1 sur 1

Porblème avec un code de upload ..

Posté : 16 déc. 2005, 20:01
par flyxter
Bonjour,

J'ai un problème avec un code qui permet d'uploader des images de son pc sur le site. Mais le code accepte seulement les .gif, pourtant il devrait accepter les .jpg, les .png et je ne vois pas pourquoi il ne veux pas !!

Merci de m'aider :
<?php
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'uploads/'; // Repertoire d'upload

if (isset($_FILES['fichier']))
{
   
   // On vérifie le type du fichier
   if (($_FILES['fichier']['type'] != 'image/png') and ($_FILES['fichier']['type'] != 'image/jpg') and ($_FILES['fichier']['type'] != 'image/gif') and ($_FILES['fichier']['type'] != 'image/JPEG'))
   {
      $erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
   }
   
   // On vérifie le poids de l'image
   elseif ($_FILES['fichier']['size'] > $poids_max)
   {
      $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
   }
   
   // On vérifie si le répertoire d'upload existe
   elseif (!file_exists($repertoire))
   {
      $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';     
   }
   
   // Si il y a une erreur on l'affiche sinon on peut uploader
   if(isset($erreur))
   {
      echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
   }
   else
   {
         
      // On définit l'extention du fichier puis on le nomme par le timestamp actuel
      if ($_FILES['fichier']['type'] == 'image/JPEG') { $extention = '.JPEG'; }
      if ($_FILES['fichier']['type'] == 'image/jpg') { $extention = '.jpg'; }
      if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
      if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
      $nom_fichier = time().$extention;
              
      // On upload le fichier sur le serveur.
      if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
      {
         $url = ''.$repertoire.''.$nom_fichier.'';?>
		
         Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value='<img src="<? echo $url; ?>">' size="60">
		 <?
      }
      else
      {
         echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
      }
      
   }
   
}
else
{
   ?>
   <form method="post" enctype="multipart/form-data">
      <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
      <input type="file" name="fichier">
      <input type="submit" value="Envoyer">
   </form>
   <?php
}
?>

Posté : 17 déc. 2005, 15:49
par Truc
Salut, me semble que c'est IE qui encore tordu :

"image/jpeg" devient "image/pjpeg"

a verifier