PHP里面的i​​mg src

时间:2013-03-02 15:10:28

标签: php redirect image

尝试查看可以通过图像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脚本来做这些事情?

5 个答案:

答案 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();

我知道我可能会迟到几年才能真正帮助您,但已接受的答案(不再)是正确的。