imagejpeg etc etc qui plante

imagejpeg etc etc qui plante - PHP - Programmation

Marsh Posté le 25-03-2005 à 13:52:19    

quelqu'un à une idée comment on peut eviter le probleme qu'on rencontre avec certaines images compressées JPEG qui plantent les scripts ?
 
(vous voyez de quoi je parle ? :lol: )
 
Freed

Reply

Marsh Posté le 25-03-2005 à 13:52:19   

Reply

Marsh Posté le 25-03-2005 à 14:50:37    

Un bout de code peut etre ???
 

Code :
  1. function CreateVignette($rubrique,$imgsrc,$targetwidth,$infos)
  2. {
  3.   $img="../$rubrique/images/$imgsrc";
  4.   $size=getimagesize($img);
  5.   global $infos;
  6.   //print_r($size);
  7.   //creation de la vignette
  8.   $savefile="../$rubrique/thumbs/$imgsrc";
  9.   //echo $savefile;
  10.   switch($size[2])
  11.   {
  12.   case 2 : $source = imagecreatefromjpeg($img);break//jpeg
  13.   case 3 : $source = imagecreatefrompng($img);break//png
  14.   case 1 : $source = imagecreatefromgif($img);break; //imagecreatefromgif($savefile);break;  //le format GIF n'est pas accepté sur cette version de PHP
  15.   case 6 : //bmp n'est pas accepté
  16.   default :$infos.="<font color=red>Le fichier $img est un format de fichier inconnu</font><br />"; exit(); //si : ni bmp, ni gif, ni jpeg
  17.   }
  18.   if($size[2]==1 || $size[2]==3)
  19.   {
  20.   $img_old=$img;
  21.   $img=str_replace(substr($img,-3),"jpg",$img);
  22.   $savefile=str_replace(substr($savefile,-3),"jpg",$savefile);
  23.   //echo $saveconverted;
  24.   if(imagejpeg($source,$img,100))
  25.   {
  26.   $infos.="<font color=green>La convertion de l'image $img en $saveconverted a été réalisée avec succès</font><br />";
  27.    if (unlink($img_old))
  28.    {
  29.    $infos.="<font color=green>L'image d'origine $img à été correctement effacée</font><br />";
  30.    }
  31.    else
  32.    {
  33.    $infos.="<font color=red>Impossible d'effacer le fichier $img</font><br />";
  34.    }
  35.   }
  36.   else
  37.   {
  38.   $infos.="<font color=red>Le fichier $img n'est pas un format supporté par cette application</font><br />";
  39.   $infos.="<font color=red>Impossible de convertir le fichier $img en $saveconverted</font><br />";
  40.   exit();
  41.   }
  42.   }
  43.    $source = imagecreatefromjpeg($img);
  44.    define(thumbnailWidth, $targetwidth);   
  45.    $thumbX = thumbnailWidth;   
  46.        $imageX = imagesx($source);
  47.        $imageY = imagesy($source);   
  48.        $thumbY = (int)(($thumbX*$imageY) / $imageX );       
  49.        $dest = imagecreatetruecolor($thumbX, $thumbY); 
  50.        imagecopyresized ($dest, $source, 0, 0, 0, 0, $thumbX, $thumbY, $imageX, $imageY);   
  51.   if(imagejpeg($dest,$savefile,100))
  52.   {
  53.   $infos.="<font color=green>Création de la vignette $savefile réalisée avec succès</font><br />";
  54.   }
  55.   else
  56.   {
  57.   $infos.="<font color=red>Impossible de créer la vignette $savefile</font><br />";
  58.   }
  59.   return $infos;
  60. }

Reply

Marsh Posté le 25-03-2005 à 14:57:30    

en me relisant je pense que je me suis mal exprimé, parfois sur certains JPEG, PHP n'arrive pas à l'exploiter (peut etre le mode Progressif ou je ne sais quoi)
ya-t-il une astuce pour que ça marche ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed