Mailinglisten-Archive |
Hi Liste,
nach langer Zeit stolpere ich mal wieder über ein Problem, an dessen
Lösung ich alleine gescheitert bin. Eventuell kann mich einer von Euch
auf die richtige Spur bringen:
Ich habe ein Capcha geschrieben, welches seit geraumer Zeit auf 2
Servern problemlos läuft. Dieses zeichnet den Text mit Hilfe von
imagettftext.
Auf einem neuen Server allerdings funktioniert das Ganze nicht mehr:
Zwar wird das Bild an sich gezeichnet (Hintergrund, Störer), nicht
jedoch der mit imagettftext generierte Text. Dabei wirft imagettftext
keinerlei Fehlermeldung aus.
Hier die entsprechende Methode:
/**
* renders captcha image
*/
private function drawCaptcha () {
$stringLength = strlen($this->string);
$this->width = imagefontwidth($this->fontSize) * strlen($this->string)
+ ($stringLength * 3);
$this->height = imagefontheight($this->fontSize) * 2;
$fontHeight = $this->height / 1.5;
$this->image = imagecreate($this->width , $this->height);
$bg = imagecolorallocate($this->image, $this->backgroundColor[0],
$this->backgroundColor[1], $this->backgroundColor[2]);
for ($i = 0; $i < $stringLength; $i++) {
$char = substr($this->string, $i, 1);
$xPos = $i * imagefontwidth($this->fontSize);
$xPos = ($i > 0) ? $xPos + $i * 3 : $xPos;
$yPos= $this->height - (rand(0, $fontHeight) / 2);
imagettftext($this->image, $this->fontSize, 0, $xPos, $yPos,
$this->getRandomColor(), $this->font, $char);
}
}
Ich bin mir sicher, die GDlib richtig kompiliert zu haben, das meint
auch phpinfo:
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
Die TrueType Font liegt auch an der bezeichneten Stelle und die
Font-Datei ist beim Upload korrekt geschrieben worden und nicht kaputt.
file_exists versichert mir auch, dass der Pfad zur Schriftart stimmt.
Jetzt stehe ich etwas ratlos da. Zwar hat Google jemanden zu Tage
gefördert, der wohl das gleiche Problem, allerdings ebenfalls keine
Lösung hat: http://www.techiegroups.com/showthread.php?t=35038
Wer kann mir helfen?
Gruss,
Andreas
--
http://www.andreas-demmer.de
php::bar PHP Wiki - Listenarchive