<code><?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; ?> </code>
我想伪造Referer,然后用 file_get_contents 取得图片显示出来,不过显示出来的是乱码,该如何解决?
<code><?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; ?> </code>
我想伪造Referer,然后用 file_get_contents 取得图片显示出来,不过显示出来的是乱码,该如何解决?
<code><?php header("Content-type: image/png"); $url = 'http://misc.360buyimg.com/lib/img/e/logo-201305.png'; $file_contents = file_get_contents($url); echo $file_contents; ?> </code>
结果可以正常输出 某东 的LOGO(因为题主提供的图片链接访问不到,所以找了同为PNG格式的LOGO)。
我觉得问题出在file_get_contents
上。文档:http://cn2.php.net/file_get_contents
因为file_get_contents
的作用是整个文件读入一个字符串中,输出是当然是以字符串输出,浏览器不知道它是图片,所以要在加上header("Content-type: image/png")
,以告诉浏览器这是png格式的图片,浏览器才会显示成图片。