Page 1 sur 1

Problème pour afficher une image dynamique

Posté : 29 mars 2008, 13:01
par kip_cool
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.

Re: Problème pour afficher une image dynamique

Posté : 29 mars 2008, 13:35
par dunbar
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);

?>

Posté : 29 mars 2008, 13:38
par Calimero
Bonjour,

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

Posté : 29 mars 2008, 13:42
par kip_cool
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

Posté : 29 mars 2008, 15:00
par caroube
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"

Posté : 29 mars 2008, 15:21
par kip_cool
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

Posté : 29 mars 2008, 15:26
par h0_noMan
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.

Posté : 29 mars 2008, 15:28
par Berzemus
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)