Bonsoir à toutes et tous,

Je bloque sur quelques lignes de codes pourtant simples... mais j'ai la poisse en ce moment.

Il s'agit de générer une image par le biais de PHP.

<?php 
    header('Content-type: image/jpeg');
    $im = imagecreatefromjpeg('profil.jpg');
    imagejpeg($im);
    imagedestroy($im);

?>

J'ai essayé avec plusieurs navigateurs, Firefox me dit : "L'image « http://localhost/site/photo.php » ne peut être affichée car elle contient des erreurs.", les autres affichent une image vide (enfin comme si l'image était introuvable...) . J'ai aussi essayé avec différentes images.

La ressource est bien créée par "imagecreatefromjpeg", et si je n'envois pas le "Content type" j'ai le code de l'image qui s'affiche...

Qui peut me dire où est ce que je me plante ??

Merci d'avance !

7 réponses


Soundboy39
Auteur
Réponse acceptée

C'est bon j'ai pu résoudre mon problème !

J'ai créé un nouveau fichier php dans un autre emplacement, avec des noms différents... et çà fonctionne !

Incroyable mais vrais... le fichier devais être corrompu, ou alors des erreurs du à des espaces insécables ou je ne sais quoi...

<?php
var_dump(
    file_exists('profil.jpg'),
    in_array('gd', get_loaded_extensions())
); //
die( __FILE__.':'. __LINE__ ); //
header('Content-Type: image/jpeg');
$im = imagecreatefromjpeg('profil.jpg');
imagejpeg($im);
imagedestroy($im);

normalement, tu doit avoir true et true,

le premier est false: le chemin vers l'image est pas bon, ou l'image existe pas
le deuxième est false: tu n'a pas activer l'extension php GD ou GD2 dans ton AMP

A titre d'information: « Note: Le support JPEG n'est disponible que si PHP a été compilé avec GD-1.8 ou supérieur. » http://us3.php.net/manual/fr/function.imagecreatefromjpeg.php

J'ai bien TRUE et TRUE et j'ai bien la librairie GD2 qui est activée. J'ai aussi fait un var_dump sur $im ce qui m'a permis de voir que "imagecreatefromjpeg" renvois bien une ressource et non FALSE.

J'ai aussi essayé sans "imagedestroy($im);" l résultat est le même.

et si tu essaie avec une autre image, jpg, que tu renomme en profil.jpg ?

J'ai déjà fait le test avec 3 images différentes... je viens de refaire un test avec une image extension ".jpeg" ça ne fonctionne pas mieux...

En fait je m’aperçois que si je virre tous et que je laisse uniquement "header("Content-type: image/jpeg");",
le résultat est le même... là je coule...

chez moi j'ai testé et j'ai pas de soucis, essaie un CTRL + F5 ^^

J'ai déjà essayé, j'ai aussi essayé avec plusieurs navigateurs.

J'ai aussi essayé d'appeler l'image depuis un autre fichier php en faisant '<img src="photo.php" />' mais ça ne fonctionne pas. L'image n'est pas trouvé.