尝试查看可以通过图像src调用的PHP脚本执行哪些操作:
<img src="http://example.com/script.php" />
现在,我尝试在script.php中包含PHP header()函数:
<?php
header("Location: http://example.com");
我还试图回应一个图像网址,希望img显示它,但它没有:
<?php
echo 'http://example.com/image.png';
有没有办法用img src属性中调用的PHP脚本来做这些事情?
答案 0 :(得分:1)
查看readfile()
作为从script.php
readfile($file);
在手册中阅读更多相关信息:
http://php.net/manual/en/function.readfile.php
示例#1给出了如何设置标题的想法。
该手册还指出:
即使发送大文件,readfile()也不会出现任何内存问题 文件本身。
和
URL可以用作具有此功能的文件名
ps :这是Wordpress Multisite用于打开用户上传(例如图片)文件的方式。
答案 1 :(得分:1)
您的 script.php 应返回带有正确标头的图片的输出。例如:
<img src="/html/img/script.php" />
// Script.php
$file = "tiger.jpeg";
$type = "image/jpeg";
header("Content-Type: $type");
header("Content-Length: " . filesize($file));
readfile($file);
答案 2 :(得分:0)
有没有办法用img src属性中调用的PHP脚本来做这些事情?
没有。用作img标记的src
的资源需要输出图像数据,而不是其他任何内容。
有一些例外,例如。 header("location: ....")
重定向,但重定向需要指向另一个有效的图像资源,而不是您在示例中显示的网站。
答案 3 :(得分:0)
您应该记住,src标记应该直接指向图像文件。但是,可以使用PHP创建图像,例如使用GD库:
http://php.net/manual/en/book.image.php
所以使用:
<img src="http://example.com/script.php" />
是可能的,只要script.php确实输出一个图像文件,例如使用这里描述的例子:
http://www.php.net/manual/en/image.examples-png.php
我过去曾使用这种处理方式在经纪人网站上覆盖JPG图像的文本(例如新的,出售的,出租的等等)。
答案 4 :(得分:0)
有没有办法用在 img src 属性中调用的 PHP 脚本来做这样的事情?
是,但 PHP 脚本必须仅输出图像数据,如其他各种答案所述。
话虽如此,只需读取图像并使用 readfile
将其输出到流中header('Content-Type: image/png');
readfile($file);
exit();
我知道我可能会迟到几年才能真正帮助您,但已接受的答案(不再)是正确的。