Partage
  • Partager sur Facebook
  • Partager sur Twitter

librairie GD

erreur de chargement

    29 novembre 2005 à 12:05:46

    Posté le: Mar Nov 29, 2005 11:57 Sujet du message: [Librairie GD] erreur de chargement

    --------------------------------------------------------------------------------

    Voilà j ai tous bien installer la librairie et j arrive a faire une images comme ceci

     <?
    header ("Content-type: image/png");


    $image = imagecreate(400,300);

    $orange = imagecolorallocate($image, 255, 128, 0);
    $bleu = imagecolorallocate($image, 0, 0, 255);
    $bleuclair = imagecolorallocate($image, 156, 227, 254);
    $noir = imagecolorallocate($image, 0, 0, 0);
    $blanc = imagecolorallocate($image, 255, 255, 255);
    imagestring($image, 5, 20, 40, 'laziza', $noir);
    imagepng($image);
    ?>




    Ceci marche trés bien donc je décide de récupérer ce code pour en faire quelques choses de plus technique en me servant d'une base de donnée pour créer un histogramme.
    Seulement quand j incorpore ce code dans ma page et bien ça ne marche pas



    Code:

    <?

    mysql_connect("localhost", "root", "");
    mysql_select_db("mabase");

    // Combien d'entrées pour les différents délai ?
    $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM trace WHERE delai=0");
    $donnees = mysql_fetch_array($retour);

    $nonresolu=$donnees['nbre_entrees'];

    $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM trace WHERE delai=1");
    $donnees = mysql_fetch_array($retour);

    $rapidement=$donnees['nbre_entrees'];

    $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM trace WHERE delai=2");
    $donnees = mysql_fetch_array($retour);

    $moyennement=$donnees['nbre_entrees'];

    $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM trace WHERE delai=3");
    $donnees = mysql_fetch_array($retour);

    $lentement=$donnees['nbre_entrees'];

    $max= max($nonresolu,$rapidement,$moyennement,$lentement); //Recupere la valeur maximale

    $tailleimagey=$max*5+40; //hauteur de l'image suivant le nombre maximum d'entrée
    $tailleimagex=300;       //largeur de l'image



           
    header ("Content-type: image/png");

           
    $image = imagecreate($tailleimagey,$tailleimagex);

    $orange = imagecolorallocate($image, 255, 128, 0);
    $bleu = imagecolorallocate($image, 0, 0, 255);
    $bleuclair = imagecolorallocate($image, 156, 227, 254);
    $noir = imagecolorallocate($image, 0, 0, 0);
    $blanc = imagecolorallocate($image, 255, 255, 255);
    imagestring($image, 5, 20, 40, 'laziza', $noir);
    imagepng($image);

    ?>




    voilà je n'ai donc fait que rajouter le code du haut dans cette page et changer la taille de création de ma fenetre de maniére dynamique .... mais plus rien ne marche
    Citation:

    L'image « http://localhost/admin/result.php » ne peut être affichée, car elle contient des erreurs.



    Voilà et j ai pas du tous idée de la raison !!
    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2005 à 12:18:17

      le problème vient de ton header en plein milieu de la page ... là c'est comme si tu déclarais que cette page était une image or c'est faux, car il y a du code php avant

      Je te conseille donc plutot de créer et enregistrer l'image sur le ftp pour l'appeller avec un basique <img src="">

      pour ça relis els cours de mateo ya tout dedans :p
      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2005 à 12:21:51

        Le problême est que je souhaites absolument me servir de ma base de donnée .....
        Hors si je crée ma page image en deshors comme je l ai fait au début je ne peux pas y accéder et donc mon image ne me sert a rien !!
        • Partager sur Facebook
        • Partager sur Twitter
          29 novembre 2005 à 12:24:22

          Citation : Binabik

          le problème vient de ton header en plein milieu de la page ... là c'est comme si tu déclarais que cette page était une image or c'est faux, car il y a du code php avant


          C'est ce que j'ai failli répondre de prime abord... Sauf qu'aucun code html ,'est renvoyé avant le header. Ça ne devrait donc pas poser ce problème (d'ailleurs, le message d'erreur ne correspond pas).
          C'est l'image qui contient des erreurs, c'est donc surement sur le code de l'image qu'il faut se pencher.
          Mais là, pour le moment, je ne vois pas.
          • Partager sur Facebook
          • Partager sur Twitter
            29 novembre 2005 à 12:30:50

            surtout que dans une autre page si je ne mets pas tous ce qui concerne l accés a la base donnée mon code fonctionne !!!
            • Partager sur Facebook
            • Partager sur Twitter
              29 novembre 2005 à 12:34:08

              Citation : termites

              Le problême est que je souhaites absolument me servir de ma base de donnée .....
              Hors si je crée ma page image en deshors comme je l ai fait au début je ne peux pas y accéder et donc mon image ne me sert a rien !!



              c'est bien ce que je dis relis les cours de mateo pour enregistrer l'image sur le ftp (sans passer par un header quoi)

              enfin ça ne changera p'tet rien mais je vois pas trop quoi faire d'autre si comme tu le dis, ya pas de bug dans le code :)
              • Partager sur Facebook
              • Partager sur Twitter
                29 novembre 2005 à 13:05:02

                A priori, je dirais qu'une des fonctions précédentes génère un warning où une erreur et que donc les données "image" sont corrompues.

                Dans une console ou invite de commandes connectes toi directement pour voir les messages:

                telnet localhost 80
                GET /admin/result.php



                Et là, dans les premières lignes de réponse tu devrais voir ta sortie ...

                C'est TOUJOURS une bonne idée de vérifier que le retour de mysql_query n'est pas nul avant de s'en servrir ...

                a+
                • Partager sur Facebook
                • Partager sur Twitter

                librairie GD

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown