Script PHP

Script PHP - PHP - Programmation

Marsh Posté le 03-09-2003 à 20:53:32    

ça fait des années que ce script redimentionne des photos qui étaient en 640X480 en 150X112 et là ça marche mais les miniatures sont d'une qualité abominable!
 
d'où est ce que ça peut venir?? Y a t-il une nouvelle version Php??  
 
Le code est le suivant:
 
 
$rep=opendir($repertoire);
 
$i=0;
while ($fichier=readdir($rep))
{
   if( substr($fichier,-3)=="JPG" or substr($fichier,-3)=="jpg" )
   {
$url_photo = "$path_photos"."$fichier";
$url_tn = "$path_tn"."$fichier";
$image = ImageCreateFromJPEG($url_photo);
$largeur  = imagesx($image);
$hauteur = imagesy($image);
imagedestroy($image);
$ajout = $mysql->query("INSERT INTO photos_vues VALUES ('$soiree', '$fichier', '0', '', '0', '$largeur', '$hauteur')" );
   }
}
closedir($rep);
 
echo "<br>C'est dans la base...<br>NE REEXECUTE JAMAIS CE SCRIPT !";
 
echo "<br><br><p align=center><font face=verdana size=2>Création des Thumbnails...</font></p>";
 
$repertoire = "../photos/";
$repertoire .= "$soiree";
 
$repertoire1 = "photos/";
$repertoire1 .= "$soiree";
 
$path_photos = "$repertoire1"."/";
 
$rep=opendir($repertoire);
 
while ($fichier=readdir($rep))
{
   if( substr($fichier,-3)=="JPG" or substr($fichier,-3)=="jpg" )
   {
            $url_photo = "$path_photos"."$fichier";
            echo "<img src=../tn5.php3?fichier=$url_photo&file2=$fichier&soiree=$soiree border=0 width=5 height=5>";
 
   }
}
closedir($rep);
 
 
echo "<br><br><p align=center><font face=verdana size=1>Réalisation <a href=mailto:steeve@docteur-pc.fr>Steeve</a> (Staff ThePeople)</font></p>";
 
$mysql->close();
 
?>
 
 
merci de votre aide

Reply

Marsh Posté le 03-09-2003 à 20:53:32   

Reply

Marsh Posté le 03-09-2003 à 21:00:56    

Si c'est la couleur qui pose problème, il faut employer imageCreateTrueColor... Sinon, demande à l'auteur du script. Nous on est pas là pour ce genre de chose...

Reply

Marsh Posté le 03-09-2003 à 21:22:32    

et le script ci-dessus fait aussi appel à celui-ci. le problème vient peut-être de là:
 
<?
$image = ImageCreateFromJPEG($fichier);
$width  = imagesx($image) ;
$height = imagesy($image) ;
$new_width  = 150;
$new_height = ($new_width * $height) / $width ;
$thumb = imagecreate($new_width,$new_height);
imagecopyresized($thumb,$image,0,0,0,0,$new_width,$new_height,$width,$height);
header("Content-type:image/jpeg" );
$urlphoto = "/home/zepeople/www/thumbs/"."$soiree"."/"."$file2";
imagejpeg($thumb, $urlphoto);
imagedestroy($image);
imagedestroy($thumb);
?>

Reply

Marsh Posté le 03-09-2003 à 21:48:28    

Quel est le problème exactement ? Est-ce seulement un problème d'image pas précise ou de très mauvaise qualité ? Ou est-ce que tes miniatures sont trop sombres ?
 :wahoo:

Reply

Marsh Posté le 03-09-2003 à 21:50:52    

les photos son de très bonne qualité: je les mets en miniatures avec un programme sur mon PC sans problème ;)
par contre quand c'est le script qui fait le travail les miniatures sont très très très sombres justement! ça vient d'où??
merci de ton aide ;)

Reply

Marsh Posté le 03-09-2003 à 21:52:24    

je crois qu'il t'a déjà répondu > imageCreateTrueColor au lieu de imageCreate...


Message édité par antsite le 03-09-2003 à 21:52:38
Reply

Marsh Posté le 03-09-2003 à 21:53:20    

ça marche pas :(

Reply

Marsh Posté le 03-09-2003 à 21:54:04    

alexesc a écrit :

ça marche pas :(


 
C'est à dire ? ça fait toujours pareil ? Tu es sûr qu'il n'y a pas d'autre imageCreate qui trainent...  :whistle:

Reply

Marsh Posté le 03-09-2003 à 21:57:47    

je verifie....
mais pourquoi est ce que ça a tout d'un coup cesse de marcher normalement? une nouvelle version de php est sortie?

Reply

Marsh Posté le 03-09-2003 à 22:00:08    

et on laisse le 'From'? 'ImageCreateFromJPEG'

Reply

Marsh Posté le 03-09-2003 à 22:00:08   

Reply

Marsh Posté le 03-09-2003 à 22:16:18    

vlà plus un seul ki traine et j'ai une erreur en plus:
Fatal error: Call to undefined function: imagecreatetruecolorjpeg() in /home/zepeople/www/admin/requete1.php3 on line 24

Reply

Marsh Posté le 03-09-2003 à 22:26:02    

alexesc a écrit :

vlà plus un seul ki traine et j'ai une erreur en plus:
Fatal error: Call to undefined function: imagecreatetruecolorjpeg() in /home/zepeople/www/admin/requete1.php3 on line 24


 
Personne t'as dit de remplacer "ImageCreateFromJPEG" ??
 
Seulement les imageCreate.  :whistle:  
 
Voilà pourquoi il faut que tu te mettes un minimum au PHP... Et je répète également pour ton info, que ce genre de question n'a rien à faire ici. On dépanne, mais il ne faudrait pas que ce genre de question reviennent continuellement.  ;)

Reply

Marsh Posté le 03-09-2003 à 22:31:13    

voilà g remplacé le mot 'imageCreate' ça fait donc ça pour moi: 'imageCreateTrueColorFromJPEG'
 
si c pas ça tu peux ppas me dire exatement ce qu'il faut mettre dans la ligne stp? ça me sauverait la vie!!!

Reply

Marsh Posté le 03-09-2003 à 22:32:27    

alexesc a écrit :

voilà g remplacé le mot 'imageCreate' ça fait donc ça pour moi: 'imageCreateTrueColorFromJPEG'
 
si c pas ça tu peux ppas me dire exatement ce qu'il faut mettre dans la ligne stp? ça me sauverait la vie!!!


 
NON, il ne FAUT PAS remplacer les imageCreateFromJpeg, mais seulement les imageCreate !!!!!!  :lol:

Reply

Marsh Posté le 03-09-2003 à 22:34:05    

aten c pas le mot image create???
c koi image create???


Message édité par alexesc le 03-09-2003 à 22:34:23
Reply

Marsh Posté le 03-09-2003 à 22:36:55    

alexesc a écrit :

aten c pas le mot image create???
c koi image create???


 
C'est imagecreate en UN SEUL mot qu'il faut remplacer, et tu vas devoir le faire à la main, vu que imageCreateFromJpeg contient aussi imagecreate, mais ne doit PAS être touché.

Reply

Marsh Posté le 03-09-2003 à 22:39:23    

c'est fait mais ça marche toujours pas :'(

Reply

Marsh Posté le 03-09-2003 à 22:40:28    

alexesc a écrit :

c'est fait mais ça marche toujours pas :'(


 
ça fait quoi ? une erreur ? Ou toujours un problème de couleur ?

Reply

Marsh Posté le 03-09-2003 à 22:41:19    

exactement le même problème de couleur....

Reply

Marsh Posté le 03-09-2003 à 22:44:34    

alexesc a écrit :

exactement le même problème de couleur....


 
humm bisarre. A mon avis, tu dois avoir d'autres parties en PHP qui sont appellées et qui utilisent imagecreate.  :??:

Reply

Marsh Posté le 03-09-2003 à 22:46:38    

mais à quoi ça sert ce script exaxctement????

Reply

Marsh Posté le 03-09-2003 à 22:49:01    

alexesc a écrit :

mais à quoi ça sert ce script exaxctement????


 
A redimensionner les images. Mais ça tu le savais déjà non ?  :)

Reply

Marsh Posté le 03-09-2003 à 22:50:17    

alexesc a écrit :

aten c pas le mot image create???
c koi image create???


 
Au fait, j'ai oublié de te dire : ici on écrit correctement, relis les rêgles du forum.  :)

Reply

Marsh Posté le 03-09-2003 à 22:52:35    

lol c abrégé

Reply

Marsh Posté le 03-09-2003 à 22:54:14    

alexesc a écrit :

lol c abrégé


 
Je sais, mais ce genre d'abréviation est interdit ici.  :)  c'est comme ça. Seuls les c au lieu de c'est sont tout juste tolérés.

Reply

Marsh Posté le 03-09-2003 à 23:41:15    

Tu utilise la librairie GD 1.0.
Pour avoir des images de bonnes qualité et la fonction createImageTrueColor, il faut utiliser la version 2.0 de GD.
 
Si tu fais tourner ton script en local modifie tes parametres de PHP, la 2.0 est livrée avec mais c'est la 1.0 qui est utilisée par défaut.
 
/!\ : ne pas activer la GD1 et GD2 ensemble => ca marche pas
dans le php.ini, enelver le ";" devant la version 2 et en mettre un devant la 1.0 :
-sous Windows : ca doit etre configuré comme cela :

Code :
  1. ;extension=php_gd.dll
  2. extension=php_gd2.dll


 
-sous Linux (je suis pas sur) :  

Code :
  1. ;extension=php_gd.so
  2. extension=php_gd2.so


 
Voila !
 
edit : voir ceci pour plus d'infos :
http://fr2.php.net/manual/fr/ref.image.php


Message édité par yo c spi le 03-09-2003 à 23:42:27
Reply

Marsh Posté le 04-09-2003 à 11:06:07    

alexesc, est-ce que tu pourrai nous dire si c'est ca la solution ou pas.  :??:  
 
Il est toujours bon de dire si le problème est résolu ou pas, ca aidera les autres utilisateurs du forum qui ont le meme problème de savoir précisement la solution.
 
Et puis j'aimerai aussi savoir si j'ai raison!   ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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