Ankündigung

Einklappen
Keine Ankündigung bisher.

JPGraph und Output Buffering

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JPGraph und Output Buffering

    Hallo Leute,

    habe mich die Tage mal rangesetzt und versucht, JPGraph zum laufen zu bekommen - leider ohne Erfolg!

    Das Problem ist, dass ich bei IE einen XML Fehler bzw. bei Firefox die Meldung "Grafik kann nicht angezeigt werden weil sie Fehler enthält." erhalte. Habe auch schon versucht, mich im Internet schlau zu machen, dort stieß ich im Zusammenhang mit Grafiken öfters auf das Stichwort "output buffering deaktivieren".

    So, jetzt muss ich dazu sagen, ich habe Webspace bei einem Provider mit PHP Version 5.2.8, GD Version bundled (2.0.34 compatible) und FreeType Version 2.2.1. Die Vorraussetzungen sollten eigentlich erfüllt sein. Unter output_buffering befindet sich nur der Wert "no value".

    Die Frage an euch ist jetzt, besteht da wirklich ein Zusammenhang!? Auf die php.ini habe ich kein Zugriff, habe auch schon versucht den buffer zu deaktivieren [mit ob_end()], danach kam zwar kein Fehler mehr aber auch keine Grafik...

    Ich bin euch über jeden Hinweis sehr dankbar!

    Anbei noch mein Code, welcher in einer Funktion steht:

    PHP-Code:
    <?php
    include ("jp/jpgraph.php");
    include (
    "jp/jpgraph_pie.php");
    include (
    "jp/jpgraph_pie3d.php");

    ob_end();

    $graph = new PieGraph(330,200,"auto");
    $graph->SetShadow();

    $p1 = new PiePlot3D($data);

    $p1->ExplodeSlice(1);
    $p1->SetCenter(0.45);
    $p1->SetLegends($legende);
    $p1->SetAngle(20);

    $graph->title->Set("Gesellschaftsverteilung");
    $graph->title->SetFont(FF_FONT1,FS_BOLD);

    $graph->Add($p1);
    $graph->Stroke();
    ?>
    Data und Legende sind arrays und werden vorher von einer sql anfrage gefüllt... inhalt is definitif vorhanden.

  • #2
    Versuch es mal mit
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);

    require 
    "jp/jpgraph.php";
    require 
    "jp/jpgraph_pie.php";
    require 
    "jp/jpgraph_pie3d.php";

    // ob_end();

    $graph = new PieGraph(330,200,"auto");
    $graph->SetShadow();

    $p1 = new PiePlot3D($data);

    $p1->ExplodeSlice(1);
    $p1->SetCenter(0.45);
    $p1->SetLegends($legende);
    $p1->SetAngle(20);

    $graph->title->Set("Gesellschaftsverteilung");
    $graph->title->SetFont(FF_FONT1,FS_BOLD);

    $graph->Add($p1);

    if (
    headers_sent($file$line)) {
      die(
    'headers sent, '$file.'@'.$line);
    }
    else {
      
    $graph->Stroke();
    }
    ?>
    und rufe den url zum Skript direkt im Browser auf.

    Kommentar


    • #3
      Hi David,

      vielen Dank schon einmal für deinen Beitrag.
      Also, habe folgendes ausprobiert:

      PHP-Code:
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Unbenanntes Dokument</title>
      </head>

      <body>
      <?

      error_reporting(E_ALL);
      ini_set('display_errors', 1);

      include ("jp/jpgraph.php");
      include ("jp/jpgraph_pie.php");
      include ("jp/jpgraph_pie3d.php");


      $graph = new PieGraph(330,200,"auto");
      $graph->SetShadow();

      $p1 = new PiePlot3D(40,30,20,10);

      $p1->ExplodeSlice(1);
      $p1->SetCenter(0.45);
      //$p1->SetLegends($legende);
      $p1->SetAngle(20);

      $graph->title->Set("Gesellschaftsverteilung");
      $graph->title->SetFont(FF_FONT1,FS_BOLD);

      $graph->Add($p1); 

      if (headers_sent($file, $line)) {
        die('headers sent, '. $file.'@'.$line);
      }
      else {
        $graph->Stroke();
      }

      ?>
      </body>
      </html>

      Das Ergebnis:

      headers sent, /httpd.www/inc/jpgraph.php@9


      Was kann ich damit jetzt anfangen!? Der header wurde ja scheinbar schon gesendet, weshalb keine grafik erzeugt wurde... das hängt doch mit dem outputbuffering zusammen, oder!?

      Danke und Grüße!

      Kommentar


      • #4
        Du kannst HTML und die Bilddaten nicht auf diese Art mischen.
        Entweder HTML oder ein Bild oder ein PDF oder ein ZIP-Archiv usw usw. Immer nur eines.

        Kommentar

        Lädt...
        X