Problème pour afficher une image dynamique

Petit nouveau ! | 3 Messages

29 mars 2008, 13:01

Bonjour, je souhaite afficher dans une page HTML, une image qui serait créée dynamiquement à l'aide de PHP.

Pour commencer simple, j'ai fait deux fichiers :

index.htm :

Code : Tout sélectionner

<html> <body> <img src="im.php"> </body> </html>
im.php :
<?php
    header ("Content-type: image/png");
    $im = ImageCreate (200, 100)
            or die ("Erreur lors de la création de l'image");        
    $couleur_fond = ImageColorAllocate ($im, 255, 0, 0);
    ImagePng ($im);
?>

Savez-vous pour quelle raison l'image ne s'affiche pas si j'ouvre le fichier index.html ?
Je vois juste un carré avec une croix rouge. Si vous voulez voir le résultat :
http://jo.ailes.free.fr/jc/index.htm


Je vous remercie d'avance pour vos réponses.

ViPHP
ViPHP | 2291 Messages

29 mars 2008, 13:35

Et comme ceci ???
<?php
    header("Content-type: image/png");
    $im = imagecreate(200, 100)
            or die ("Erreur lors de la création de l'image");
    $couleur_fond = imagecolorallocate($im, 255, 0, 0);
    imagepng($im);

?>
Modifié en dernier par dunbar le 29 mars 2008, 14:05, modifié 3 fois.

ViPHP
ViPHP | 2287 Messages

29 mars 2008, 13:38

Bonjour,

Ouvre directement l'image dans ton navigateur, cela va te sauter au visage : http://jo.ailes.free.fr/jc/im.php
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Petit nouveau ! | 3 Messages

29 mars 2008, 13:42

Bonjour,

Ouvre directement l'image dans ton navigateur, cela va te sauter au visage : http://jo.ailes.free.fr/jc/im.php

Voici ce que ça donne :

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at /mnt/130/sda/1/6/jo.ailes/jc/im.php:1) in /mnt/130/sda/1/6/jo.ailes/jc/im.php on line 2 �PNG ��� IHDR�������d����H�H���PLTE���� 7���IDATH�������à�S� U�� (�~;����IEND�B`�
Dunbar --> ça fait la même chose

Eléphant du PHP | 422 Messages

29 mars 2008, 15:00

Regarde si tu n'as pas un espace ou un retour chariot

Code : Tout sélectionner

<---- ici <?php header("Content-type: image/png"); $im = imagecreate(200, 100) or die ("Erreur lors de la création de l'image"); $couleur_fond = imagecolorallocate($im, 255, 0, 0); imagepng($im); ?> <--- ou là
<?php doit "coller" au début du fichier sinon des espaces sont envoyés avant le header "image"

Petit nouveau ! | 3 Messages

29 mars 2008, 15:21

Regarde si tu n'as pas un espace ou un retour chariot

Code : Tout sélectionner

<---- ici <?php header("Content-type: image/png"); $im = imagecreate(200, 100) or die ("Erreur lors de la création de l'image"); $couleur_fond = imagecolorallocate($im, 255, 0, 0); imagepng($im); ?> <--- ou là
<?php doit "coller" au début du fichier sinon des espaces sont envoyés avant le header "image"
c'est la première chose que j'ai regardé avant de poster :) Il n'y a rien

Eléphant du PHP | 445 Messages

29 mars 2008, 15:26

Vérifie l'encodage du fichier pour voir si il n'a pas de BOM. (Car on dirait que tu as une ligne vide avant le message d'erreur)

Sinon essayes de recréer le fichier avec un autre éditeur.

ViPHP
ViPHP | 4039 Messages

29 mars 2008, 15:28

Vérifie l'encodage du fichier pour voir si il n'a pas de BOM. (Car on dirait que tu as une ligne vide avant le message d'erreur)

Sinon essayes de recréer le fichier avec un autre éditeur.
(pour éclaircir, regarde l'encodage du fichier, d'habitude, en utf-8, on a le choix entre avec ou sans BOM)
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.