Home >Backend Development >PHP Tutorial >php file_get_contents 无法显示图片

php file_get_contents 无法显示图片

WBOY
WBOYOriginal
2016-06-23 13:45:581446browse

<?php$url = "http://nsv.ckcdn.com/images/logo1.png";$refer = "http://nsv.ckcdn.com/";$opt=array("http"=>array("header"=>"Referer: " . $refer)); $context=stream_context_create($opt); $file_contents = file_get_contents($url,false, $context);echo $file_contents;?>

我想伪造Referer,然後用 file_get_contents 取得图片显示出来,
不过显示出来的是乱码,该如何解决?


回复讨论(解决方案)

代码没有问题!
去掉程序文件的 BOM 头

如果你想让整个文件输出为图片,则前面加上一句:header("content-type:image/png");

你试试二楼的方法吧!

加上去了,但是一样是乱码

乱码页面,截个图看看

只有这样的,才需要加类型声明

你这个截图绝对不是你的代码能产生的!
这是高版本的 jpeg 不是 png
而此格式在低版本的浏览器中是打不开的,只能是乱码或是一个叉


对不起,我图片网址输入的跟提问的不一样,但是问题还是没有解决

抱歉- - 回得太快了,没有看完你说的
用Chrome浏览就正常了,谢谢

图片的header头部加上去再将流数据直接echo出来

如果你知道对方的图片格式你完全可以直接将数据流每次都保存到本地生成一张图片来显示就好了。

你用记事本代开图片就是这样的,用header content-type  试试

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn