Mam taki kod mający za zadanie generować wykres słupkowy i wyświetlać go na stronie, jednak coś nie działa. Chciałbym aby wykres sie pokazal na stronie, a od razu po wejsciu na strone zostaje on pobierany i zapisywany do pliku. Czy ktoś widzi jakiś błąd?
[php:1:1da7d460b8]<?php
//określ parametry wykresu
$GraphWidth = 400;
$GraphHeight = 200;
$GraphScale = 2;
$GraphFont = 5;
$GraphData = array("99", "75",
"15", "66", "22");
$GraphLabel = array("Wołowina", "Kurczak",
"Wieprzowina", "Jagnięcina", "Ryby");
//stwórz rysunek
$image = imagecreate($GraphWidth, $GraphHeight);
//przydziel kolory
$colorBody = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$colorGrid = imagecolorallocate($image, 0xCC, 0xCC, 0xCC);
$colorBar = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$colorText = imagecolorallocate($image, 0x00, 0x00, 0x00);
//wypełnij tło wykresu
imagefill($image, 0, 0, $colorBody);
//narysuj pionową linię skali
$GridLabelWidth = imagefontwidth($GraphFont)*3 + 1;
imageline($image,
$GridLabelWidth, 0,
$GridLabelWidth, $GraphHeight-1,
$colorGrid);
//narysuj poziome linie skali
for($index = 0; $index < $GraphHeight; $index += $GraphHeight/10)
{
imagedashedline($image,
0, $index,
$GraphWidth-1, $index,
$colorGrid);
//wyświetl etykietę
imagestring($image,
$GraphFont,
0,
$index,
round(($GraphHeight - $index)/$GraphScale),
$colorText);
}
//narysuj dolną linię
imageline($image,
0, $GraphHeight-1,
$GraphWidth-1, $GraphHeight-1,
$colorGrid);
//narysuj każdy słupek
$BarWidth = (($GraphWidth-$GridLabelWidth)/count($GraphData)) - 10;
for($index = 0; $index < count($GraphData); $index++)
{
//słupek
$BarTopX = $GridLabelWidth + (($index+1) * 10) + ($index * $BarWidth);
$BarBottomX = $BarTopX + $BarWidth;
$BarBottomY = $GraphHeight-1;
$BarTopY = $BarBottomY - ($GraphData[$index] * $GraphScale);
imagefilledrectangle($image,
$BarTopX, $BarTopY,
$BarBottomX, $BarBottomY,
$colorBar);
//wyświetl etykietę
$LabelX = $BarTopX +
(($BarBottomX - $BarTopX)/2) -
(imagefontheight($GraphFont)/2);
$LabelY = $BarBottomY-10;
imagestringup($image,
$GraphFont,
$LabelX,
$LabelY,
"$GraphLabel[$index]: $GraphData[$index]",
$colorText);
}
//prześlij obrazek do przeglądarki
header("Content-type: image/gif");
imagegif($image);
?>[/php:1:1da7d460b8]