PHP - ImageCreate () ошибка - PullRequest
       9

PHP - ImageCreate () ошибка

2 голосов
/ 11 марта 2011

Я пытаюсь создать код Captcha и читаю некоторые учебники в Интернете.Итак, я скопировал / вставил эту функцию:

create_image(); 
exit(); 

function create_image() { 
    //Let's generate a totally random string using md5 
    $md5_hash = md5(rand(0,999)); 
    //We don't need a 32 character long string so we trim it down to 5 
    $security_code = substr($md5_hash, 15, 5); 

    //Set the session to store the security code
    $_SESSION["security_code"] = $security_code;

    //Set the image width and height 
    $width = 100; 
    $height = 20;  

    //Create the image resource 
    $image = ImageCreate($width, $height);  

    //We are making three colors, white, black and gray 
    $white = ImageColorAllocate($image, 255, 255, 255); 
    $black = ImageColorAllocate($image, 0, 0, 0); 
    $grey = ImageColorAllocate($image, 204, 204, 204); 

    //Make the background black 
    ImageFill($image, 0, 0, $black); 

    //Add randomly generated string in white to the image
    ImageString($image, 3, 30, 3, $security_code, $white); 

    //Throw in some lines to make it a little bit harder for any bots to break 
    ImageRectangle($image,0,0,$width-1,$height-1,$grey); 
    imageline($image, 0, $height/2, $width, $height/2, $grey); 
    imageline($image, $width/2, 0, $width/2, $height, $grey); 

    //Tell the browser what kind of file is come in 
    header("Content-Type: image/jpeg"); 

    //Output the newly created image in jpeg format 
    ImageJpeg($image); 

    //Free up resources
    ImageDestroy($image); 
}

Но когда я пытаюсь вызвать ее, я получаю эту ошибку:

Неустранимая ошибка: вызов неопределенной функции ImageCreate() в C: \ Program Files \ Apache Software Foundation \ Apache2.2 \ htdocs \ gtw \ registration \ createCaptcha.php в строке 19

В чем проблема?Некоторая PHP-библиотека

Ответы [ 3 ]

1 голос
/ 11 марта 2011

Расширение php_gd2 не включено.

Он включен в дистрибутив Windows PHP, но вы должны включить его в php.ini. Для этого просто откройте php.ini и раскомментируйте (удалите начальную ;) следующую строку:

extension=php_gd2.dll

Сохраните, перезапустите Apache, и все будет в порядке.

1 голос
/ 11 марта 2011

Чтобы использовать ImageCreate, вы должны иметь библиотеку GD как часть вашей установки PHP.

Проверьте с помощью функции phpinfo (), установлена ​​ли она. Если нет, вам нужно добавить это.

0 голосов
/ 24 сентября 2018

Вам еще нужно включить расширение php_gd2

Оно включено в дистрибутив Windows PHP, но вы должны включить его в php.ini.Для этого просто откройте php.ini и раскомментируйте (удалите начальную;) следующую строку:

extension = php_gd2.dll Сохраните, перезапустите Apache, и все будет в порядке.

длянайдите php.ini, перейдите в папку xampp

откройте папку php, откройте строку php.ini-development 889 в зависимости от версии вашего php. Она включена в дистрибутив Windows PHP, но вы должны включить ее в php.ини.Для этого просто откройте php.ini и раскомментируйте (удалите начальную;) следующую строку:

extension = php_gd2.dll Сохраните, перезапустите Apache, и все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...