QuincySwim 发布于 2017-05-13 15:39
array("header"=>"Referer: " . $refer)); 
$context=stream_context_create($opt); 
$file_contents = file_get_contents($url,false, $context);
echo $file_contents;
?>

我想偽造Referer,然後用 file_get_contents 取得圖片顯示出來,不過顯示出來的是亂碼,該如何解決?

1 个回答
  • <?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;
    ?>
    

    结果可以正常输出 某东 的LOGO(因为题主提供的图片链接访问不到,所以找了同为PNG格式的LOGO)。

    我觉得问题出在file_get_contents上。文档:http://cn2.php.net/file_get_contents
    因为file_get_contents的作用是整个文件读入一个字符串中,输出是当然是以字符串输出,浏览器不知道它是图片,所以要在加上header("Content-type: image/png"),以告诉浏览器这是png格式的图片,浏览器才会显示成图片。

    2017-05-14 02:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    mobiledu2502875483
  • 8
    王丽珠景平怡伦_621
  • 9
    adfa3sd5f6a
  • 10
    欣欣大妮
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有