Grafik in Seiten includieren
wuscheck
- grafik
0 Tilman Porschütz0 Sven Rautenberg0 tommy0 tommy
Hi, schon wieder ich???
Ich habe vor eine Grafik in eine Seite zu packen. Die Grafik habe ich mit Programmen wie advGraph oder jpgraph erstellt. Wenn ich den kompletten Code an irgeneiner Stelle der Seite einbauen möchte, dann kommt die Fehlermeldung dass der header bereits gesendet wurde. Stelle ich den Code an den Anfang der Seite, dann erscheint zwar die Grafik, aber nicht der Rest der Seite. Danach habe ich den Grafik-Code in eine eigene Datei geschrieben und dann einen include auf diese Datei gemacht, auch das funktioniert nicht..., aber warum?
Hier ein kurzer Beispielcode:
<?php
include "advLine.inc"; //include line graph
//Create our labels and Data
$labels = array("Mon","Tue","Wed","Thu","Fri");
$data[0] = array("Output", 10, 15, 30, 28, 5);
$data[1] = array("Input", 7, 19, 36, 15, 8);
//Create a new graph 400x250 pixels
$ag = new advLine(400, 250);
$ag->loadData($data, $labels); //Load the Data
$ag->draw(); //Draw the picture
?>
hallo
<?php
include "advLine.inc"; //include line graph
wenn das problem auftritt beim include, poste den include doch bitte mal. =]
//Create our labels and Data
$labels = array("Mon","Tue","Wed","Thu","Fri");
$data[0] = array("Output", 10, 15, 30, 28, 5);
$data[1] = array("Input", 7, 19, 36, 15, 8);
//Create a new graph 400x250 pixels
$ag = new advLine(400, 250);
$ag->loadData($data, $labels); //Load the Data
$ag->draw(); //Draw the picture
?>
sonst, was ich denke ist, das irgend eine header information wie header("mime-type:.."); in der include ist. das kannste nicht ausfuehren, nach der ersten ausgabe an den browser.
hoffe das hilft
ciao tilman
hallo
<?php
include "advLine.inc"; //include line graph
wenn das problem auftritt beim include, poste den include doch bitte mal. =]
//Create our labels and Data
$labels = array("Mon","Tue","Wed","Thu","Fri");
$data[0] = array("Output", 10, 15, 30, 28, 5);
$data[1] = array("Input", 7, 19, 36, 15, 8);
//Create a new graph 400x250 pixels
$ag = new advLine(400, 250);
$ag->loadData($data, $labels); //Load the Data
$ag->draw(); //Draw the picture
?>
sonst, was ich denke ist, das irgend eine header information wie header("mime-type:.."); in der include ist. das kannste nicht ausfuehren, nach der ersten ausgabe an den browser.
hoffe das hilft
ciao tilman
Hi Tilman,
der Fehler der ausgegeben wird ist der folgende:
Warning: Cannot add header information - headers already sent by (output started at ...
Am Anfang meiner php-Datei habe ich bereits ein require stehen:
<?php
require "xyz.php";
?>
<HTML>
<HEAD>
Fast am Ende kommt dann der code für den line-Chart:
</table>
<div align="center"><br>
<?php
include "advLine.inc"; //include line graph
//Create our labels and Data
$labels = array("Mon","Tue","Wed","Thu","Fri");
$data[0] = array("Output", 10, 15, 30, 28, 5);
$data[1] = array("Input", 7, 19, 36, 15, 8);
//Create a new graph 400x250 pixels
$ag = new advLine(400, 250);
$ag->loadData($data, $labels); //Load the Data
$ag->draw(); //Draw the picture
?>
</div>
Stelle ich den gesamten Grafik-Code an den Anfang der Datei, dann funktioniert es zwar mit der Darstellung des Charts, der code der restlichen Seite wird aber nicht mehr dargestellt...
Am Anfang meiner php-Datei habe ich bereits ein require stehen:
<?php
require "xyz.php";
?>
<HTML>
<HEAD>
Fast am Ende kommt dann der code für den line-Chart:
</table>
<div align="center"><br>
<?php
include "advLine.inc"; //include line graph
?>
</div>
k, ich glaube dein problem zu erkennen. Beim erstellen von Grafiken musst du einen header senden. Sprich in deinem fall ist das einfach an der falschen stelle im html dokument.
packe doch alle die informationenen zum erstellen des bildes in eine eigene datei <? nur php, mit deiner ausgabe ?>. Dann kannst du die grafik ganz normal mit <img src="bild.php" > ausgeben.
Zweite Variante, waere das Bild ganz am anfang deiner HTML datei zu erstellen, in in ner variable abzuspeichern und dann bei bedarf auszugeben.
Hoffe ich konnte helfen.
Tilman
Moin!
Ich habe vor eine Grafik in eine Seite zu packen. Die Grafik habe ich mit Programmen wie advGraph oder jpgraph erstellt. Wenn ich den kompletten Code an irgeneiner Stelle der Seite einbauen möchte, dann kommt die Fehlermeldung dass der header bereits gesendet wurde. Stelle ich den Code an den Anfang der Seite, dann erscheint zwar die Grafik, aber nicht der Rest der Seite. Danach habe ich den Grafik-Code in eine eigene Datei geschrieben und dann einen include auf diese Datei gemacht, auch das funktioniert nicht..., aber warum?
Ganz klare Sache: Der Server schickt entweder HTML-Code an den Browser, oder eine Grafik. Für jeden Typus ist eine gesonderte Anfrage erforderlich, weshalb in der Regel zwei Skripte arbeiten - aber nicht ineinander verschachtelt.
Zwei kurze Fragen zum Selberdraufkommen:
1. Wenn du eine HTML-Seite vom Skript ausgeben läßt, was kommt beim Browser dann an? Nur Text, oder auch schon Bilder (z.B. im JPG/GIF-Format)?
2. Da eine HTML-Seite nur aus Text besteht: Wie werden Bilder egal welcher Sorte in HTML eingebunden? Richtig, genau das gilt auch für Bilder, die von einem Skript erzeugt werden! <img src="dieurl.php?mit=parametern" width="breite" height="höhe" alt="Alternativer Text, sofern sinnvoll und gewünscht"> Du mußt nur noch dafür sorgen, daß dein PHP-Skript ein lupenreines Bild ausgibt, wenn man den Server danach fragt.
- Sven Rautenberg
Hi,
Ich habe vor eine Grafik in eine Seite zu packen. Die Grafik habe ich mit Programmen wie advGraph oder jpgraph erstellt. Wenn ich den kompletten Code an irgeneiner Stelle der Seite einbauen möchte, dann kommt die Fehlermeldung dass der header bereits gesendet wurde. Stelle ich den Code an den Anfang der Seite, dann erscheint zwar die Grafik, aber nicht der Rest der Seite. Danach habe ich den Grafik-Code in eine eigene Datei geschrieben und dann einen include auf diese Datei gemacht, auch das funktioniert nicht..., aber warum?
Weil Du die Grafik in ein img-Tag setzen musst!!!!
Bsp.:
<?php
$bilder[0] = "pic00.jpg"; //array def.
.
.
.
//Bildgroesse ermitteln
$size = GetImageSize ($bilder[$zufall]);
?>
<img src="<?php echo $bilder[0]; ?>" border="0" alt="" <?php echo $size[3];?>>
Viel Spass
tommy
Hi,
Ich habe vor eine Grafik in eine Seite zu packen. Die Grafik habe ich mit Programmen wie advGraph oder jpgraph erstellt. Wenn ich den kompletten Code an irgeneiner Stelle der Seite einbauen möchte, dann kommt die Fehlermeldung dass der header bereits gesendet wurde. Stelle ich den Code an den Anfang der Seite, dann erscheint zwar die Grafik, aber nicht der Rest der Seite. Danach habe ich den Grafik-Code in eine eigene Datei geschrieben und dann einen include auf diese Datei gemacht, auch das funktioniert nicht..., aber warum?
Weil Du die Grafik in ein img-Tag setzen musst!!!!
Bsp.:
<?php
$bilder[0] = "pic00.jpg"; //array def.
.
.
.
//Bildgroesse ermitteln
$size = GetImageSize ($bilder[0]); //natürlich dein image
?>
<img src="<?php echo $bilder[0]; ?>" border="0" alt="" <?php echo $size[3];?>>
//die drei steht für *.jpg -->gucke doch mal unter http://www.php.net
Viel Spass
tommy