使用 PHP 显示图像不起作用
我正在尝试使用 PHP 脚本显示图像。 基本上,php 脚本会传递到图像的完整路径,然后在浏览器中显示该图像。 我已经检查过以确保图像存在,它正在被正确读取等,但是在浏览器中,如果我去那里,我只会看到损坏的图像框(例如 IE 中的小红叉)。
我的脚本发送这些标头:
<?php
header('Last-Modified: ' . gmdate('D, d M Y H:i:s T', filemtime($file)));
header('Content-Type: '.$mime);
header('Content-Length: '.filesize($file)."\n\n");
header('Etag: '.md5($file));
echo $file;
die;
$file
包含类似 '/var/www/htdocs/images/file.jpg'
的内容,该内容有效。 $mime
是'image/jpeg'
。
我也尝试过回显 file_get_contents($file)
但它也不起作用。
有什么问题,有什么想法吗?
I'm trying to display an image using a PHP script. Basically so the php script is passed on the full path to the image, and it then displays that image in the browser. I've checked to make sure the image exists, it is being read correctly, etc, however in the browser i just see the broken image box (e.g the small red cross in IE) if I go there.
My script sends out these headers:
<?php
header('Last-Modified: ' . gmdate('D, d M Y H:i:s T', filemtime($file)));
header('Content-Type: '.$mime);
header('Content-Length: '.filesize($file)."\n\n");
header('Etag: '.md5($file));
echo $file;
die;
$file
contains something like '/var/www/htdocs/images/file.jpg'
which works. the $mime
is 'image/jpeg'
.
I have also tried echoing file_get_contents($file)
but it didn't work either.
What is the problem, any thoughts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有时,任何其他文件中可能会产生额外的空间。因此,可以通过在调用 header() 之前调用 ob_clean() 来删除这些额外的空间。
Some time extra space may be produced in any other file.So those extra spaces can be removed by calling ob_clean() before header() is called.
力求简单......
应该按预期运行。
Striving for simplicity...
should function as expected.
我找到了答案,我在
?>
标记后面有一些额外的空格,这导致标题不起作用。 咕噜咕噜I found the answer, i had some extra whitespace after the
?>
tag which was causing the header to not work. grrrrrrr