как сгенерированное php изображение может иметь расширение .png?

Я владелец сервера Minecraft, и мне надоели сайты, которые генерируют png-баннеры с живым содержимым (получение этого контента с помощью плагинов, которые я должен установить).

Так что я попытался сделать свой :)

все хорошо и хорошо, изображение генерируется и отображается отлично и отлично, используя в основном это:

header("Content-type: image/png");
$im     = imagecreatefrompng("images/live.png");
$black = imagecolorallocate($im, 0, 0, 0);

imagestring($im, 4, 104, 38, $numOnlineListTotal.'/'.$MaxCapacity, $black);
imagestring($im, 4, 325, 38, $numAdmnMod, $black);
imagestring($im, 4, 104, 57, $MCVersion, $black);
imagestring($im, 4, 325, 57, $BukkitBuild, $black);

imagepng($im);
imagedestroy($im);

Проблема в том, что когда я пытаюсь ввести ссылку на мой php-файл, который генерирует изображение на сайт, например, скажем, minecraftforums.net, он говорит, что этот тип изображения недействителен для использования на их форумах, и я могу понять это, поскольку я введите ссылку: http://mcaddictgallery.info/shared/live.php не является Конечный файл .png

как сделать, чтобы ссылка заканчивалась на .png?


person John Kapsis    schedule 15.03.2012    source источник


Ответы (2)


Переписать мод Apache. Предполагая, что на вашем сервере установлен плагин mod_rewrite, вы можете поместить следующее в файл .htaccess в тот же каталог, что и скрипт изображения.

RewriteEngine on

RewriteRule ^live.png$ live.php

Самый простой способ узнать, включен/установлен ли он, — это если сервер возвращает ошибку 500 при попытке загрузить что-либо в этот каталог.

person Austin Brunkhorst    schedule 15.03.2012

Вам нужно использовать перезапись URL. Для Apache это будет что-то вроде mod_rewrite. Есть и другие решения для других обслуживающих платформ.

person John Green    schedule 15.03.2012