Капча показывает буквы через раз

dandandan

Новичок
Капча показывает буквы через раз

Написал капчу. Возникла проблема - запускается через раз. То на картинке есть буквы, то букв нету.
Шрифты пробывал все и по отдельности и вместе. Даже жестко прописать 1 шрифт, то он показывается через раз.
Тесты проводил на Денвере 3 и на хостинге мсхост. Если кому интересен скрипт в работе то http://avtoform-plast.ru/register.php
PHP:
session_start();
$antisp='';
header("Expires: Sun, 1 Jan 2000 12:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: image/jpeg");

$height=35;
$font_size=24;
$kolvo_bukv=3;
$kolvo_bukv1=6;
$width=$font_size*($kolvo_bukv1+1)*1.5;
$im = @imagecreate($width*0.5, $height*1.1)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$color_font = imagecolorallocate($im, 0, 0, 0);
$font=random_font();
// выводим капчу
for($i = 0; $i < $kolvo_bukv; ++$i) {
$string.=random_string(1);
} 
$antisp.=$string;
$color_font = imagecolorallocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); 
imagettftext($im, $font_size, 0, 5, 30, $color_font, $font, $string);

$_SESSION['capcha']=$antisp; 
$font='';
imagejpeg($im);
imagedestroy($im);
//*****************************
function random_string($len) // выбор случайной буквы
{
$string = "";
$chars = array("A", "B", "C", "D","E", "F", "G", "H", "I", "J", "K", "L", "M", "N", 
"P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); 

for($i = 0; $i < $len; ++$i)
{
shuffle($chars); // возвращает случайный элемент массива
$string .= $chars[0];
}
return $string;
}
//**************************
function random_font() // выбор случайного шрифта
{
$string = 'shrift_s/0('.mt_rand(1,2).').ttf';
return $string;
}
 

Фанат

oncle terrible
Команда форума
dandandan, тебе знакомо такое понятие, как отладка?
 

dandandan

Новичок
Проблема в том, что он генерирует картинку, но без нужных букв. Буквы на заднем фоне нормально генерируются. Что такое отладка - знаю.
Если бы мне не требовалась помощь - то не написал бы здесь.
 
Сверху