如何在png/jpg扩展名中运行php脚本

3

如何编辑 .htaccess 文件以使客户端运行 php 脚本,但是以 png/jpg 扩展名显示。所以... 用户将访问以下网址:

http://example.com/script.png,他将看到“test”(php脚本将返回此值),而不是图像。 这是我已经做的: .htaccess 文件:

AddType application/x-httpd-php .png
文件:
<?php
header("Content-type: image/png");
echo 'test';
?>

这段代码有什么问题?为什么它不起作用?浏览器尝试下载图片 :/

如果您使用header()方法,则它不会返回“test”,而是将其读取为图像。 - Mike Rockétt
尝试将内容类型设置为"text/plain"。 - yentsun
这个问题是出于白帽子的意图吗? - nomistic
@yentsun 当我将内容类型设置为text/plain时,它只显示文本(带有PHP头部),而不执行PHP代码。 - McGrasus
@Anantkumarsingh 是的,这是可能的,我们只需要告诉服务器让它为我们变得可能。 - Amit Verma
显示剩余4条评论
1个回答

3
将以下行添加到您的.htaccess文件中。
AddHandler application/x-httpd-php .png

这段话告诉服务器将所有以.png 结尾的文件视为.php 文件进行处理。

似乎对我不起作用,浏览器试图显示图像。 - McGrasus
你的意思是什么?“目录上的图像”?@Starkeen - McGrasus
我认为问题出在你的script.png文件上,正如其他用户在评论中已经建议的那样,你正在使用错误的Content type,请将Content type更改为text/html,或者将其删除。你已经告诉你的服务器将png文件读取为php文件。 - Amit Verma
如果目录/虚拟主机设置为“AllowOverride None”,则.htaccess中的设置将不起作用。 - Raptor
@Raptor 那是真的!! - Amit Verma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接