Probleme d'UPload d'image

sylvain -  
 7codes.cd -
Bonjour,

je poste ce message car je viens d'installer un script sur mon site mais il ne marche par correctement quelqu'un peut-il le modifier ou m'expliquer quel é le probleme de ce code voici le message d'erreur qui s'affiche quand je veus uploader une image en jpeg ou jpg -( Le fichier doit être au format *.jpeg, *.gif ou *.png .)je tien à preciser que gif marche .

<html>
<head><title>Uploadez vos images!</title></head>
<body>
<?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érifit le type du fichier
   if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
   {
      $erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
   }
   
   // On vérifit le poids de l'image
   elseif ($_FILES['fichier']['size'] > $poids_max)
   {
      $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
   }
   
   // On vérifit 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/jpeg') { $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 = 'www.monsite.com/'.$repertoire.''.$nom_fichier.'';
         echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $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
}
?>


Merci d'avance amicalement Sylvain
Configuration: Windows XP
Internet Explorer 7.0

13 réponses

  1. le père
     
    Bonjour

    rajoute
    echo $_FILES['fichier']['type'],'<BR>';
    juste avant ton
    // On vérifit le type du fichier

    Que vois-tu quand tu essayes de télécharger une image jpeg ?
    0
  2. sylvain
     
    bonjour et merci Le père pour votre reponse aussi rapide

    En fait le script est installé sur http://www.votre-image.com essayez d'uploader une image en jpeg ou jpg vous aller mieu comprendre le probleme

    amicalement sylvain
    0
  3. sylvain
     
    J'ai essayer d'ajouter le bout de script que vous m'avez donner maintenant mon message d'erreur é (image/pjpeg
    Le fichier doit être au format *.jpeg, *.gif ou *.png .)
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. le père
     
    Bonjour

    On ne comprend pas mieux le problème en allant voir sur le site
    Je répète :

    rajoute
    echo $_FILES['fichier']['type'],'<BR>';
    juste avant ton
    // On vérifit le type du fichier

    Que vois-tu quand tu essayes de télécharger une image jpeg ?
    0
  6. sylvain s Messages postés 4 Statut Membre
     
    Ca ne marche pas mieux en metant le code ca me marque ce message
    (image/pjpeg Le fichier doit être au format *.jpeg, *.gif ou *.png .Retour )

    pourtant c un jpeg de petite taille que j'envoie
    0
  7. le père
     
    Mon code n'était pas pour réparer mais pour diagnostiquer.
    remplace echo $_FILES['fichier']['type'],'<BR>'; par print_r($_FILES)
    0
  8. sylvain s Messages postés 4 Statut Membre
     
    ca me m'affiche carement plus la page le message d'erreur é (Parse error: syntax error, unexpected T_IF in /home/votreima/public_html/index.php on line 209)
    0
  9. le père
     
    ok, vu

    les images sont transmises avec le type image/pjpeg
    Modifie ton script pour accepter aussi ce type
    0
  10. sylvain s Messages postés 4 Statut Membre
     
    donc je rajoute if ($_FILES['fichier']['type'] == 'image/pjpeg') { $extention = '.pjpeg'; }
    0
  11. sylvain s Messages postés 4 Statut Membre
     
    Ca ne marche toujours pas
    0
  12. le père
     
    Faut pas oublier de faire le test dans le if après // On vérifit le type du fichier
    0
  13. 7codes.cd
     
    //Indique si le fichier a été téléchargé
    if(!is_uploaded_file($_FILES['image']['tmp_name']))
    echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
    else {
    //liste des extensions possibles
    $extensions = array("/png","/gif","/jpg","/jpeg","/bmp","/pjpeg");
    echo $extensions;

    //récupère la chaîne à partir du dernier / pour connaître l'extension
    $extension = strrchr($_FILES['image']['type'],'/');
    echo $extension;

    //vérifie si l'extension est dans notre tableau
    if(!in_array($extension, $extensions))
    echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
    else {

    //on fait tout ce qu'on veut ici

    }

    voila ca marhe tres bien chez moi....by
    0