Probleme d'UPload d'image

Fermé
sylvain - 20 févr. 2008 à 11:30
 7codes.cd - 20 sept. 2008 à 16:25
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
A voir également:

13 réponses

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
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
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
personne ne sait ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
sylvain s Messages postés 4 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 22 février 2008
22 févr. 2008 à 16:35
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
Mon code n'était pas pour réparer mais pour diagnostiquer.
remplace echo $_FILES['fichier']['type'],'<BR>'; par print_r($_FILES)
0
sylvain s Messages postés 4 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 22 février 2008
22 févr. 2008 à 16:44
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
ok, vu

les images sont transmises avec le type image/pjpeg
Modifie ton script pour accepter aussi ce type
0
sylvain s Messages postés 4 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 22 février 2008
22 févr. 2008 à 16:47
donc je rajoute if ($_FILES['fichier']['type'] == 'image/pjpeg') { $extention = '.pjpeg'; }
0
sylvain s Messages postés 4 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 22 février 2008
22 févr. 2008 à 16:54
Ca ne marche toujours pas
0
Faut pas oublier de faire le test dans le if après // On vérifit le type du fichier
0
//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