php file_get_contents 无法显示图片

WBOY
풀어 주다: 2016-06-23 13:45:58
원래의
1415명이 탐색했습니다.

<?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  试试

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿