Почему этот PHP-код не генерирует допустимое изображение PNG?

$c = $record['corrects'];
$i = $record['incorrects'];

if ($c == 0 && $i == 0)
{
    $image = imagecreatetruecolor(200,80);

    $white = imagecolorallocate($image,255,255,255);
    $red = imagecolorallocate($image,255,0,0);

    imagefilledrectangle($image,0,0,199,79,$white);

    $text = 'Quiz cancelled!';

    $box = imageftbbox(10,0,'verdana.ttf',$text);

    $x = imagesx($image)/2 - abs($box[2] - $box[0])/2 - 5;

    $y = imagesy($image)/2 - abs($box[5] - $box[3])/2 - 5;

    imagefttext($image,10,0,$x,$y,$red,'verdana.ttf',$text);

    header('Content-type: image/png');

    imagepng($image);
    imagedestroy($image);

    exit();
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
1 189
3

Ответы 3

Я попробовал, и все работает. Он выдал красный текст с надписью «Викторина отменена!».

Может быть, вам стоит проверить, действительно ли $ c и $ i равны 0?

Я полагаю, у вас есть <? php и? > теги в начале и в конце файла?

Обновлено: также находится ли файл шрифта ttf в нужном месте?

Также может помочь, если вы предоставите немного больше информации: выдает ли браузер ошибку? Или просто ничего не показывает?

Бен

Закомментируйте вызовы imagepng () и header () и просмотрите результат в своем браузере, чтобы узнать, не возникают ли какие-либо ошибки.

Как уже было сказано, в деталях вопрос несколько схематичный.

Правильно ли установлена ​​переменная среды GDFONTPATH?

<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

(от uk.php.net/imagefttext)

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