Как разобрать JPG как PHP и вернуть JPG - PullRequest
4 голосов
/ 03 июля 2011

У меня есть динамическое изображение, которое я пытаюсь создать, которое ранее работало на одном веб-хосте, пока я не узнал, что они удалили некоторые функции, некоторые из которых сломали мое изображение. Я недавно перешел на hostgator, и я не могу заставить изображение работать на их сайте. Реальный PHP-скрипт не важен, так как я полностью уверен, что он работает, потому что когда я захожу в /image.php, он отображает изображение, а когда я захожу в /image.jpg - нет.

То, что я пытаюсь сделать здесь, - это иметь PHP-код внутри файла с расширением JPG, то есть то, что у меня есть в /image.jpg, не реальное изображение, а PHP-код. Мне нужно, чтобы сервер анализировал JPG как код PHP, но возвращает JPG, чтобы я мог использовать изображение в местах, где разрешены только изображения с расширениями изображений, например на форумах. Форум, на котором я нахожусь, не примет изображение с расширением PHP, поэтому мне нужно, чтобы это работало, как описано.

Единственное, что я нашел и попробовал, это поместил это в .htaccess:

<Files image.jpg>
ForceType application/x-httpd-php
</Files>

Файл .htaccess находится в том же каталоге, что и изображение, и этот метод также работал, но больше не работает. Я проверил образ как PHP с hostgator, и он отлично работает, мне просто нужен способ снова правильно использовать /image.jpg.

В случае, если это помогает, то, что делает мой PHP-скрипт, берет фоновое изображение, использует ImageTTFText, чтобы изменить его такими вещами, как счетчик просмотров, отображение IP-адреса и некоторые другие вещи. Как я уже сказал, сам скрипт работает, я уже тестировал его на hostgator, но мне нужно иметь возможность поместить скрипт в файл JPG и иметь его так, чтобы при просмотре JPG он отображал изображение так, как он должен .

Любая помощь очень ценится, спасибо.

EDIT: Трюк переписать в .htaccess тоже не сработал. Он перенаправляет image.jpg на image.php, и форум все еще не позволяет мне использовать изображение. Кроме того, что касается конфигурационных файлов Apache, я уверен, что у меня есть доступ к этому. Я не очень опытен в этом, но в cPanel у меня есть доступ к Apache Handlers, который говорит, что он позволяет мне контролировать, как веб-сервер обрабатывает определенные типы файлов. Я просто не знаю, что нужно ввести, чтобы это работало так, как мне нужно, но я думаю, что это может быть то, что мне нужно Если кто-нибудь знает, поможет ли это, или как его использовать, дайте совет. Спасибо.

РЕДАКТИРОВАТЬ: Я не знаю, если это то, что вы имеете в виду, но вот части создания сценария изображения:

Header ('Content-type: image/jpeg');
Header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
Header('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
Header('Pragma: no-cache');

$image = imagecreatefromjpeg("background.jpg");

$img_width = 514;
$img_height = 128;

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

1 Ответ

2 голосов
/ 03 июля 2011

Вы можете попробовать что-то вроде

RewriteEngine on
RewriteRule image.jpg image.php [R=301]

отредактировано, чтобы добавить:

В случае, если вы не знали, поместите это в свой файл .htaccess. С правильным путем / к / файлу, конечно.

...