我有以下显示公司徽标的PHP代码
<?php
$key=$_GET['key'];
/// key process ///
////////////////////
?>
<img src=images/logo.jpg" />
当我运行这个php文件时,这个show logo.jpg 但是当我从
打电话时 <img src="../temp.php?key=123" width="438" height="100" />
它没有显示图像
实际上我想跟踪这张图片。
由于
答案 0 :(得分:4)
如果你想使用这样的东西:
然后temp.php
应该是:
这是因为浏览器希望src
标记的<img>
属性指向的URL实际上对应于有效图像 - 而不是某些HTML文本。
例如,temp.php
可能包含以下内容:
<?php
$key = $_GET['key'];
// TODO : security check on $key !!!
$file = 'images/logo-' . $key . '.jpg';
header('Content-type: image/jpeg');
readfile($file);
?>
作为几个旁注:
Content-type
HTTP标头;这意味着你必须知道你的形象是gif,jpeg,png,...... $_GET['key']
是否正确,以便不发送不需要的文件的内容!<?php ... ?>
标记之前或之后绝对不应有空白字符:唯一的输出必须是图像的内容。答案 1 :(得分:3)
要使这项工作正常,您需要在temp.php
中阅读并输出实际的图片数据(前面有header('Content-type: image/jpeg');
。
包含图片代码的HTML文件不能用作其他图片代码的src
。
答案 2 :(得分:2)
而不是PHP脚本输出额外的img
标记,您需要让它读取二进制图像数据并输出该标记以及相应的Content-Type标题。
temp.php应该是这样的:
header('Content-Type: image/jpeg');
echo file_get_contents($the_path_to_image);
答案 3 :(得分:2)
好吧,PHP脚本返回HTML输出,而不是图像。如果您希望temp.php文件返回可在图像元素中使用的图像,则需要使用PHP-GD创建图像,将图像导入/复制到图像,然后以JPEG格式输出图像并使用正确的图像头。
答案 4 :(得分:0)
只是我还是...... 如果代码确实是你所拥有的
<img src=images/logo.jpg" />
应该是
<img src = "images/logo.jpg">
没有开场白?