Jerome608 | Bonjour à tous.
Après moult recherches, je me permets de m'adresser à vous car j'ai quelques difficultés avec un script php que j'ai écrit.
Ce script sert à redimensionner une image et écrire un texte dessus si la session du visiteur qui l'appelle n'est pas correcte.
Le script marche bien, mais malheureusement, on ne peut pas enregistrer l'image qu'il génère autrement qu'en BMP ni connaitre son poids.
Je ne sais pas d'où ça vient, car j'ai bien mis le header et sur mon site, il y'a un autre script (utilisant la bibliothèque JPGraph) qui génère des images reconnues en JPEG, je ne vois pas la différence entre les 2.
Voici mon script :
Code :
- <?
- // Définition de la sortie renvoyé au browser
- header("Content-type: image/jpeg" );
- // Création de la session
- session_start();
- // PARTIE AFFECTATION DES VARIABLES
- /* déclaration de variables */
- require "../common/config.php";
- /* Connexion avec MySQL */
- @mysql_connect ($host,$user,$pass);
- @mysql_select_db("$bdd" );
- // Données liées à l'image
- $ID=0;
- $cat=0;
- $ID=$_GET['ID'];
- $SID=$_GET['S'];
- @$query = "SELECT * FROM asp_images WHERE imgCode='$ID'";
- @$result = mysql_query($query);
- @$row = mysql_fetch_array($result);
- // Test sur l'existence de l'image
- if (!$row)
- {
- $src_im = ImageCreateFromJpeg("$adresse/images/gui/main_part/logo_ASP.jpg" );
- $black = imagecolorallocate($src_im, 0, 0, 0);
- ImageString($src_im,5,0,0,"Image inexistante sur le site...", $black);
- imagejpeg($src_im);
- } else {
- @$imgUrl= mysql_result($result,0,"imgUrl" );
- // Test sur la validité de la session
- if ($SID<>$_SESSION['session'] || !$SID)
- {
- $size = GetImageSize($imgUrl);
- $src_w = $size[0]; $src_h = $size[1];
- // Teste les dimensions tenant dans la zone
-
- // Crée une image vierge aux bonnes dimensions
- $dst_im = imagecreatetruecolor(500,375);
- // Copie dedans l'image initiale redimensionnée
- $src_im = ImageCreateFromJpeg($imgUrl);
- ImageCopyResampled($dst_im,$src_im,0,0,0,0,500,375,$src_w,$src_h);
- ImageDestroy($src_im);
- $white = imagecolorallocate($dst_im, 255, 255, 255);
- $black = imagecolorallocate($dst_im, 0, 0, 0);
- ImageString($dst_im,4,10,345,"Image disponible en $src_w x $src_h sur $adresse", $black);
- ImageString($dst_im,4,12,343,"Image disponible en $src_w x $src_h sur $adresse", $white);
- Imagejpeg($dst_im);
- } else {
- // readfile("$imgUrl" );
- $dst_im = ImageCreateFromJpeg($imgUrl);
- Imagejpeg($dst_im);
- }
- }
- // Suppression de la session du serveur
- session_destroy();
- ?>
|
Merci d'avance à ceux qui auraient des idées pour m'aider ! Message édité par Jerome608 le 29-09-2004 à 16:58:02
|