Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1445 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Upload d'images : jpg->jpg fonctionne mais pas gif->jpg

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Upload d'images : jpg->jpg fonctionne mais pas gif->jpg

n°1529830
Proxounet
Posté le 17-03-2007 à 01:20:35  profilanswer
 

Bonjour,
 
Inspiré par certains codes, mon envoie d'images est basé sur le code suivant :
 

Code :
  1. $i = 1;
  2.    while( ($i <= 9) && ($etape == 2) )
  3.    {
  4.     $largeur = 520;
  5.     $image_tmp = $_FILES["image-$i"]['tmp_name'];
  6.     $image_type = $_FILES["image-$i"]['type'];
  7.     $image_poids = $_FILES["image-$i"]['size'];
  8.     if ( $image_tmp != "" )
  9.     {
  10.      $extension = 0;
  11.      if ( ($image_type=="image/pjpeg" ) || ($image_type=="image/jpeg" ) )
  12.      {
  13.       $img = imagecreatefromjpeg($image_tmp);
  14.       $extension = 1;
  15.      }
  16.      if ( ($image_type=="image/x-png" ) || ($image_type=="image/png" ) )
  17.      {
  18.       $img = imagecreatefrompng($image_tmp);
  19.       $extension = 1;
  20.      }
  21.      if ( $image_type=="image/gif" )
  22.      {
  23.       $img = imagecreatefromgif($image_tmp);
  24.       $extension = 1;
  25.      }
  26.      if ( $extension == 1)
  27.      {
  28.       if ( $image_poids <= "1000000" )
  29.       {
  30.        $chemin = "/home/henol/public_html/v2/images/articles/temp/$idinscrit-$propositions-$i.jpg";
  31.        list($largeur_tmp, $hauteur_tmp) = getimagesize($image_tmp);
  32.        if ( $largeur_tmp > $largeur )
  33.        {
  34.         $hauteur = $largeur*$hauteur_tmp/$largeur_tmp;
  35.         $img_redim = imagecreatetruecolor($largeur,$hauteur);
  36.         imagecopyresampled($img_redim, $img, 0, 0, 0, 0, $largeur, $hauteur, $largeur_tmp, $hauteur_tmp);
  37.         Imagejpeg($img_redim,"$chemin" );
  38.         ImageDestroy($img_redim);
  39.         ImageDestroy($img);
  40.        }
  41.        else
  42.        {
  43.         move_uploaded_file($img_tmp,"$chemin" );
  44.        }
  45.       }
  46.       else
  47.       {
  48.        $statut = "L'image #$i doit avoir une taille maximale de 1Mo;<br />
  49.        Merci de réenvoyer vos images.";
  50.        $etape = "1";
  51.       }
  52.      }
  53.      else {
  54.       $statut = "L'image #$i doit être au format PNG,GIF ou JPG;<br />
  55.       Merci de réenvoyer vos images.";
  56.       $etape = "1";
  57.      }
  58.     }
  59.     $i++;
  60.    }


 
Lorsque j'upload des images jpg cela fonctionne, mais pas le gif ! j'ai beau avoir cherché pendant plusieurs heures, je ne comprend vraiment pas : l'image finale est pourtant normalement indépendante du format d'origine avec le createimagefrom
 
Donc l'image est bien reconnu comme gif, pusiquelle passe les tests d'extension, mais aucune image n'est créée dans le dossier... (pas de problème de chemin puisque je le rappelle, la création a partir d'un jpg fonctionne
 
merci beaucoup  :(

mood
Publicité
Posté le 17-03-2007 à 01:20:35  profilanswer
 

n°1529884
Proxounet
Posté le 17-03-2007 à 12:12:43  profilanswer
 

Personne ? :(

n°1529900
Master p
My new cock ring :D
Posté le 17-03-2007 à 13:29:21  profilanswer
 

Fais un imagejpeg($img); à la ligne 24 pour voir si l'image est correctement lue.


---------------
HAHAHA I M USING TEH INTERNET
n°1529903
flo850
moi je
Posté le 17-03-2007 à 13:32:56  profilanswer
 

si tu as la version 2 de GD , tu n'as pas acces au gif  
 
il te faut la version 1.6 pour avoir les fonctions liées au gif

n°1529910
gooopil
pfiew
Posté le 17-03-2007 à 14:06:23  profilanswer
 

flo850 a écrit :

si tu as la version 2 de GD , tu n'as pas acces au gif  
 
il te faut la version 1.6 pour avoir les fonctions liées au gif


 

Citation :

Does gd support GIF images?
 
Yes. Support for GIF was restored in gd 2.0.28 on July 21st, 2004. Support for creating GIF animations is also available. Note that gdlib-config --features can be used to list the image formats supported by gd. Versions of gdlib-config prior to recent updates do not support the --features option, which can be understood to mean that GIF is not available.  

http://www.libgd.org/FAQ#Does_gd_support_GIF_images.3F

n°1529917
Proxounet
Posté le 17-03-2007 à 14:21:20  profilanswer
 

Master p a écrit :

Fais un imagejpeg($img); à la ligne 24 pour voir si l'image est correctement lue.


Ca fonctionne (ça affiche l'image)

n°1529920
Master p
My new cock ring :D
Posté le 17-03-2007 à 14:25:12  profilanswer
 

Et t'es sûr de tes images (poids, taille, nom) ?


---------------
HAHAHA I M USING TEH INTERNET
n°1529929
sielfried
Posté le 17-03-2007 à 14:58:20  profilanswer
 

Vérifie la valeur de retour de move_uploaded_file.


Message édité par sielfried le 29-04-2007 à 14:38:01

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1529934
Proxounet
Posté le 17-03-2007 à 15:33:52  profilanswer
 

Ha tiens oui il y a une erreur;
Car si le gif est à une taille inférieure, il ne subit pas de transformation, il va directement au move uploaded file, qui le renomme en jpg sans traitement ;
je ne vois pas pourquoi l'image n'est pas créé, en tout cas il faudra changer ça, je donnerai des nouvelles de ça ce soir

n°1529983
Proxounet
Posté le 17-03-2007 à 20:05:37  profilanswer
 

Hehe c'était ça;
ca reste marrant qu'il  ne veuille pas faire un moveuploadedfile d'un fichier gif vers un chemin dont l'extension est jpg
 
tant que je suis la, connaissez vous la différence entre imagecopyresampled et imagecopyresized ? je suis allé sur php.net mais je n'ai vu aucune différence, ils s'utilisent exactement de la même mannière..
 
merci

mood
Publicité
Posté le 17-03-2007 à 20:05:37  profilanswer
 

n°1529990
sielfried
Posté le 17-03-2007 à 20:18:31  profilanswer
 

imagecopyresized() copie une partie rectangulaire d'une image dans une autre image de destination. dst_image est l'image de destination, src_image est l'image source. Si les dimensions de la source et de la destination ne sont pas égales, un étirement adéquat est effectué pour faire correspondre les deux.  
 
imagecopyresampled() copie une zone rectangulaire de l'image src_im vers l'image dst_im. Durant la copie, la zone est rééchantillonnée de manière à conserver la clarté de l'image durant une réduction.  
 
En gros (je suppose) la première fait un redimensionnement "à la bourrin", alors que la seconde utilise un filtre.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1530008
Proxounet
Posté le 17-03-2007 à 21:47:12  profilanswer
 

Dak merci beaucoup
 
si vous avez un peu de temps j'ai un nouveau problème ... de preg replace
 
http://forum.hardware.fr/hfr/Progr [...] 2523_1.htm


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Upload d'images : jpg->jpg fonctionne mais pas gif->jpg

 

Sujets relatifs
Création d'une gallerie d'images a partir d'un répertoire[CSS] problème de bloc - ajout d'images
Recherche d'images pour boutons[FLASH] Rollover Intervertir 2 images
Upload de fichiers par HTTPaffichage aléatoire d'images de format différents
[CSS] Problèmes entre liens images et liens textesModifier ce menu avec images zoomées en Javascript
Modifier ce menu avec images zoomées en JavascriptCompiler un ensemble de fichiers (XML + images)
Plus de sujets relatifs à : Upload d'images : jpg->jpg fonctionne mais pas gif->jpg


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR