0

我正在使用 <img src="logo.php" > 调用一个 php 页面,该页面在显示实际的 gif 图像之前将一些内容写入数据库。我们称之为版本 1

在任何给定页面上,代码如下所示:

<a href="http://www.abc.com">
<img alt="Hi" src="http://www.abc.com/logo.php"/></a>

然后,logo.php 看起来像这样:

// first update a database table with some relevant info

// then, output the logo image

header("Content-Type: image/gif");
echo file_get_contents("/path/to/image/logo.gif");

它工作得很好,(感谢我在这里收到的答案:Stack Question Answered

现在,我正在尝试创建第二个选项,它做同样的事情,除了它显示一些 html 以及图像。让我们称之为版本 2

在任何给定页面上,代码如下所示:

<a href="http://www.abc.com">
<img alt="Hi" src="http://www.abc.com/logo_html.php"/></a>

我希望这个其他文件“logo_html.php”输出类似这样的内容

<p>Hello World</p>
<p>Some More html</p>
<img alt="Hi" src="http://www.abc.com/logo.gif"/>

我尝试使用简单的 <p>Hello World</p> 将“echo file_get_contents”文件更改为 php 文件,但没有显示任何内容(只是浏览器找不到图像时得到的 X。

如果这是我的“logo_html.php”文件,我将其更改为这个,然后在 myfile.php 中放入一些文本,我也没有得到任何结果。

header("Content-Type: image/gif");
echo file_get_contents("/path/to/file/myfile.php");

我需要在我的 logo_html.php 文件中进行哪些更改才能调出和显示图像以及一些额外的 html?

一如既往地提前感谢!

4

3 回答 3

2

除了图像二进制内容,您不能输出任何内容。srcimage 标记的属性接受二进制图像内容的地址,而不是 html。

所以最后的答案是:你不能那样做。

于 2013-01-14T23:43:46.210 回答
0

你不能那样做。如果这是可能的并且你会链接到我的图片,我会给你图片和一个脚本标签,它会窃取你客户的 cookie ;)。

于 2013-01-14T23:49:13.810 回答
0

你应该使用<iframe>. 图像元素不能包含除图像之外的任何其他内容——浏览器会认为代码是图像数据的一部分,但因为它与 mime 类型不匹配(GIF 图像必须以 GIF89a 或类似的开头)它会认为它已损坏.

file_get_contents("/path/to/file/myfile.php")返回 php 文件的内容。您可能想要包含它。

于 2013-01-14T23:45:28.017 回答