Код Captcha не работает с помощью PHP

Мой код с картинки не работает, я могу вызвать строки в конце, но цифры не видны на картинке. Код прекрасно работает на локальном хосте, но не на моем хостинг-сайте.

вот код:

<?php
session_start();
header('Content-type: image/jpeg');

$text= $_SESSION['secure'];

$font_size =30;
$image_width= 110;
$image_height=40;

$image=imagecreate($image_width,$image_height);
imagecolorallocate($image, 255, 255, 255);
$text_color = imagecolorallocate($image, 0, 0, 0);


for($x=1; $x<=30; $x++){
$x1 = rand(1,100);
$x2 = rand(1,100);
$y1 = rand(1,100);
$y2 = rand(1,100);
imageline($image, $x1, $x2, $y1, $y2, $text_color);
}

imagettftext($image, $font_size, 0, 15, 30, $text_color, 'font.TTF', $text);
imagejpeg($image);  
?>

2 ответа

Я прокомментировал эту строку, и я получил это предупреждение и уведомление:

Notice: Undefined index: secure in F:\xampp\htdocs\captcha.php on line 4 
Warning: imagettftext() [function.imagettftext]: Invalid font filename in F:\xampp\htdocs\captcha.php on line 23

так что сначала проверьте расположение шрифта. затем проверьте значение $_SESSION['secure'] и, если оно пустое, проверьте, почему этот сеанс пуст. надеюсь, это поможет вам.

Отредактировано: 1. Я сохранил код в php-файле на моем локальном хосте. 2. подключенная строка с заголовком ("Content-type: image/jpeg"); потому что это установить MIME-тип страницы как JPG 3. Я прочитал уведомление и предупреждение. В любом случае, я думаю, что ваша проблема в пустом значении сеанса или проверьте, включен ли gd на вашем сервере.

Я полагаю, вам не хватает шрифта на вашем сервере веб-хостинга. попробуйте бесплатный, который, как правило, установлен на сервере, или просто загрузите шрифт на ваш веб-хост и установите правильный путь к файлу шрифтов.

Другие вопросы по тегам