Ik probeer twee plaatjes weer te geven op het scherm. Ik krijg geen foutmelding, maar de plaatjes worden niet weergegeven. In plaats daarvan komt er dit te staan:

GIF87a€, „©Ëí£œT;GIF87aF€,F„©Ëí£œ´Ú‹³Þ¼÷;

Het meest logische leek mij de headers. Maar waar ik die ook neer lijk te zetten, het probleem blijft. Dit is mijn test-code:


<?php
ob_start();
$dbar1 = 30;
$dbar2 = 70;
echo "<html><head><title></title></head><body>";
echo "
<table>
<tr><td>1</td><td><td><td></td></tr>
<tr><td>2</td><td><td><td></td></tr>
<tr><td>3</td><td><td><td>"; create_rule($dbar1, $dbar2); echo "</td></tr>
<tr><td>4</td><td><td><td></td></tr>
<tr><td>5</td><td><td><td></td></tr>
<tr><td>6</td><td><td><td></td></tr>
<tr><td>7</td><td><td><td></td></tr>
</table>";

ob_end_flush();

function create_rule($dbar1, $dbar2) {
header("Content-type: image/gif");
$rule1 = imagecreatetruecolor($dbar1, 5);
$bg1 = imagecolorallocate($rule1, 255, 0, 0);
imagegif($rule1);

$rule2 = imagecreatetruecolor($dbar2, 5);
$bg2 = imagecolorallocate($rule2, 0, 255, 0);
imagegif($rule2);

imagedestroy($rule1);
imagedestroy($rule2);
}

ob_end_clean();
echo "</body></html>";
?>

Heeft iemand suggesties?
Niemand enig idee?
id GD actief op uw webserver ?
Ja, volgens phpinfo() wel.
Een voorbeeld vanaf php.net werkt ook.
Uit je script begrijp ik dat je de images in de HTLM gooit. Je moet het als volgt doen:

img1.php
<?php
header("Content-type: image/gif");
$rule1 = imagecreatetruecolor($dbar1, 5);
$bg1 = imagecolorallocate($rule1, 255, 0, 0);
imagegif($rule1);
?>

img2.php
<?php
header("Content-type: image/gif");
$rule2 = imagecreatetruecolor($dbar2, 5);
$bg2 = imagecolorallocate($rule2, 0, 255, 0);
imagegif($rule2);
?>

bestand.php
<?php
echo '<img src="img1.php" />
<img src="img2.php" />';
?>

Reageren