如何将JPG解析为PHP并返回JPG

时间:2011-07-02 20:33:35

标签: php .htaccess webserver dynamic-image-generation

我有一个我想要创建的动态图像,以前在一个网络主机上工作,直到我发现它们删除了一些功能,其中一些功能打破了我的形象。我最近搬到了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文件与图像位于同一目录中,此方法也可用于工作,但现在不再使用。我已经使用hostgator将图像测试为PHP,并且工作正常,我只需要再次正确使用/image.jpg。

如果它有帮助,我的PHP脚本所做的是采用背景图像,使用ImageTTFText来改变它,例如视图计数,IP地址显示和其他一些东西。正如我所说的,脚本本身可以工作,我已经在hostgator上测试了它,但是我需要能够将脚本放在JPG文件中,并且让它当有人查看JPG时,它会显示图像,因为它应该是

非常感谢任何帮助,谢谢。

编辑: .htaccess中的重写技巧也不起作用。它将image.jpg重定向到image.php,论坛仍然不允许我使用该图像。另外,对于Apache的配置文件,我很确定我可以访问它。我对此并不十分熟悉,但在cPanel中我可以访问Apache Handlers,它说它可以让我控制Web服务器如何处理某些文件类型。我只是不知道该怎样进入这里,因为我需要它,但我认为这可能是我需要的。如果有人知道这是否有用,或者如何使用它,请提供一些建议。谢谢。

编辑:我不知道这是不是你的意思,但这里是脚本的图像创建部分:

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 个答案:

答案 0 :(得分:2)

您可以尝试类似

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

编辑添加:

如果您不知道,请将其放在.htaccess文件中。当然有正确的路径/到/文件。