Проблем с captcha

smoke

Registered
Здравейте имам този код:

PHP:
<?php
session_start();
$string = "";

for($i = 0; $i < 6; $i++) {
$string .= chr(rand(97, 122));
}

$_SESSION['rand_code'] = $string;
$dir = "http://racerbg.com/font/";
$image = imagecreatetruecolor(170, 25);
$black = imagecolorallocate($image, 0, 0, 0); //Черен
$color = imagecolorallocate($image, 200, 100, 90); //Червен
$white = imagecolorallocate($image, 255, 255, 255); //Бял
imagefilledrectangle($image, 0, 0, 170, 60, $white);
imagettftext($image, 8, 0, 2, 20, $color, $dir."pihab.ttf", $_SESSION['rand_code']);
header("Content-Type: image/png");
imagepng($image);
?>

но защо получавам тази грешка:

Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/racerbgc/public_html/captcha.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /home/racerbgc/public_html/captcha.php:16) in /home/racerbgc/public_html/captcha.php on line 17
‰PNG IHDRЄ.J"VIDAThЃнСA А0Аїз!cЏ& zЧ;3‡Є·А&ыУмOі?Ню4ыУмOі?Ню4ыУмOі?Ню4ыУмOі?Ню4ыУмOі?Ню4ыУмOі?н3Н/6;ЛОIEND®B`‚

ето вижте http://racerbg.com/captcha.php
 
Бъркат ти се хедърите които пращаш. Ако за в бъдеще ти вади нялъде лорнинги а кода си работи, ето ти едно мързеливо решение:

Код:
Слагай @ в началото  на реда на който е грешката примерно:

@imagettftext($image, 8, 0, 2, 20, $color, $dir."pihab.ttf", $_SESSION['rand_code'])
 
Ето ти един опростен код, който го използвам аз! :)

PHP:
<?php 
header('Content-type: image/jpeg'); 
$width = 50; 
$height = 24; 
$img = imagecreatefromjpeg('valide.jpg');

imagefill($my_image, 0, 0, 0xFFFFFF); 

for ($c = 0; $c < 40; $c++){ 
$x = rand(0,$width-1); 
$y = rand(0,$height-1); 
imagesetpixel($my_image, $x, $y, 0x000000); 
} 

$x = rand(1,10); 
$y = rand(1,10); 

$rand_string = rand(1000,9999); 
imagestring($my_image, 5, $x, $y, $rand_string, 0x000000); 

setcookie('tntcon',(md5($rand_string).'a4xn')); 

imagejpeg($my_image); 
imagedestroy($my_image); 
?>
 

Back
Горе