我正在使用< img src =“logo.php”>调用一个php页面,在显示实际的gif图像之前将一些东西写入数据库。我们称之为VERSION 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以及图像。我们称之为VERSION 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"/>
我尝试将'echo file_get_contents'文件更改为一个简单的&lt; php文件p&gt; Hello World&lt; / p&gt;,但没有显示任何内容(只是浏览器找不到图像时得到的X.
如果这是我的“logo_html.php”文件,并将其更改为此文件,则在myfile.php中放入一些文本,我也没有结果。
header("Content-Type: image/gif");
echo file_get_contents("/path/to/file/myfile.php");
我需要在logo_html.php文件中更改哪些内容才能调出并显示图片,还有一些额外的HTML?
一如既往地感谢您!
答案 0 :(得分:2)
除了图像二进制内容之外,您无法输出任何内容。图像标记的src
属性接受二进制图像内容的地址,而不接受html。
所以最后的答案是:你做不到。
答案 1 :(得分:0)
您应该使用<iframe>
。图像元素不能包含除图像之外的任何内容 - 浏览器会认为代码是图像数据的一部分,但因为它与mime类型不匹配(GIF图像必须以GIF89a开头,或者像那样),它会认为它已经坏了
同样file_get_contents("/path/to/file/myfile.php")
返回php文件的内容。你可能想要加入它。
答案 2 :(得分:0)
你不能那样做。如果这是可能的,你会链接到我的图像,我会给你和图像以及一个窃取客户饼干的脚本标签;)。< / p>