Moin Jungs,
ich hab ein Problem, und zwar erzeugt mir mein Captcha-Skript kein png. Ich kann aber keinen Fehler finden.
Die Sache läuft so, daß ich die php-erzeugte png-Datei über
<img src="./captcha/captcha.php" border="0" title="Sicherheitscode">
einfüge. Das php-Skript sieht folgendermaßen aus:
<?php
session_start();
unset($_SESSION['captcha_spam']);
function randomString($len)
{
function make_seed()
{
list($usec , $sec) = explode (' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
//Der String $possible enthält alle Zeichen, die verwendet werden sollen
$possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
$str="";
while(strlen($str)<$len)
{
$str.=substr($possible,(rand()%(strlen($possible))),1);
}
return($str);
}
$text = randomString(5); //Die Zahl bestimmt die Anzahl stellen
$_SESSION['captcha_spam'] = $text;
header('Content-type: image/png');
$img = ImageCreateFromPNG('captcha.png'); //Backgroundimage
$color = ImageColorAllocate($img, 0, 0, 0); //Farbe
$ttf = "./captcha/xfiles.ttf"; //Schriftart
$ttfsize = 25; //Schriftgröße
$angle = rand(0,5);
$t_x = rand(5,30);
$t_y = 35;
imagettftext($img, $ttfsize, $angle, $t_x, $t_y, $color, $ttf, $text);
imagepng($img);
imagedestroy($img);
?>
Kann es vielleicht an der Session liegen? Die Datei wird nämlich innerhalb eines Buffers (ob_start()) ausgeführt...
Vielen Dank und Grüße aus dem warmen Süden,
Klaus