als ik dit script run geeft de pagina dat het plaatje niet weergegeven kon worden omdat het script fouten bevat. Ik heb de code gchckd via tidy in HTML kit maar die geeft niets bijzonders.

wat klopt er niet?



<?php

$gegevens = array(10, 30, 40);
$kleuren = array('#FF0000', '#00FF00', '#0000FF');
$legenda = array('Type A', 'Type B', 'Type C');
$img_hoogte = 500; # Hoogte van het plaatje
$breedte = 40; # Breedte van de kolom

# Berekend de breedte van het plaatje excl. de legenda breedte
function kolom_hoogte($deel, $max, $img_hoogte, $breedte){
return ($deel/$max)*($img_hoogte-(0.5*$breedte));
}

# Voor het 3d effect (half cosinus 30)
function schuin_x($breedte){
return $breedte*0.43;
}

# Voor het 3d effect (half sinus 30)
function schuin_y($breedte){
return $breedte*0.25;
}

# Zet de HTML kleur om in een rbg waarde.
function hex2rbg($color, $image){
$string = str_replace('#','',$color);
return imagecolorallocate($image, hexdec(substr($string,0,2)), hexdec(substr($string,2,2)), hexdec(substr($string,4,2)));
}

# Berekend het maximum aantal tekens per array waarde en geeft de lengte van de langste terug.
function maxarraylength($input){
foreach($input as $v){
$output[] = strlen($v);
}
return max($output);
}

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

# grootte van het plaatje basseren op het aantal kolomen:
$kolomen = count($gegevens);
$width = ($kolomen*$breedte*2)+(0.5*$breedte);
$image = imagecreate($width+(maxarraylength($legenda)*7)+25, ($img_hoogte+1));

# Achtergrond:
$bg = imagecolorallocate($image, 255, 255, 255);

# KOLUMS
for($i=0;$i<$kolomen;$i++){
# vars:
$begin = ($i*$breedte)+($i*$breedte)+(0.5*$breedte);
$hoogte = kolom_hoogte($gegevens[$i], max($gegevens), $img_hoogte, $breedte);
$kleur = hex2rbg($kleuren[$i], $image);
$black = imagecolorallocate($image, 0, 0, 0);

# kolom:
imagefilledrectangle($image, $begin, ($img_hoogte-$hoogte), ($begin+$breedte), $img_hoogte, $kleur); # Vlak
imagerectangle($image, $begin, ($img_hoogte-$hoogte), ($begin+$breedte), $img_hoogte, $black); # Omlijning

# 3d effect:
$punten = array(
$begin,#X
($img_hoogte-$hoogte),#Y

($begin+schuin_x($breedte)),#X
($img_hoogte-$hoogte-schuin_y($breedte)),#Y

($begin+$breedte+schuin_x($breedte)),#X
($img_hoogte-$hoogte-schuin_y($breedte)),#Y

($begin+$breedte+schuin_x($breedte)),#X
($img_hoogte-schuin_y($breedte)),#Y

($begin+$breedte),#X
$img_hoogte,#Y

($begin+$breedte),#X
($img_hoogte-$hoogte)#Y
);
imagefilledpolygon($image, $punten, 6, $kleur); # Vlak
imagepolygon($image, $punten, 6, $black); # Omlijning
imageline($image, $punten[10], $punten[11], $punten[4], $punten[5], $black); # Tussen lijn

# Legenda:
$top = (15*$i)+(15*$i)+(0.5*$breedte);
$left = ($kolomen*$breedte)+($kolomen*$breedte)+(0.5*$breedte);
imagefilledrectangle($image, $left, $top*0.5, $left+15, $top*0.5+10, $kleur); # Vlak
imagerectangle($image, $left, $top*0.5, $left+15, $top*0.5+10, $black); # Omlijning
imagestring($image, 3, $left+20, $top*0.5, $legenda[$i], $black); # Text
}
# // KOLUMS

imagepng($image);

imagedestroy($image);

?>
ok. Ik heb de html verwijderd, Maar wat moet ik veranderen aan
header("Content-Type: image/png"); ?
Da's juist prima!
maar ik heb nogsteeds een blanco pagina :-(
header even wegcommenten, en kijken welke error je dan nog ziet.

[size=xsmall]Toevoeging op 12/08/2015 09:54:39:[/size]

header even wegcommenten, en kijken welke error je dan nog ziet.
gedaan, maar nog steeds een blanco pagina, geen foutmeldingen

[size=xsmall]Toevoeging op 12/08/2015 10:03:48:[/size]

heb ook nog echo"fout"; ingevoegd, maar nog steeds blanco
Display_errors setting op 1 zetten i.p.v stdout. Misschien dat dat verschil geeft? Ik heb deze notatie nooit zo gezien.
nee.Nog steeds blanco. wat me wel opvalt is dat in de balk alleen het websiteadres staat www.algenie.eu/test.php kan het script 'gewoon' gestopt zijn?
Als je dit bovenin je code zet, zou je foutmeldingen moeten kunnen zien:
error_reporting(E_ALL);
ini_set('display_errors', 1);

Heb dat probleem ook altijd op productie omgevingen, wanneer het framework voor me bepaalt wat de error reporting levels zijn, maar soms maak je foutjes op de productie omgeving zelf :P
arrrrgh
nee, dus
11/08/2015 21:19:43: Ik zie een hele mooie grafiek in 3 kleuren...code werkt hier probleemloos.
Opmerking: Als ik je code selecteer tot aan de eindtag, dan komt het goed.. als ik de spatie mee kopieer die er achter staat dan werkt het niet meer ;-)

12/08/2015 09:36:49: Parse error: syntax error, unexpected '}' in C:\wamp\www\phphulp\image.php on line 18

Reageren