- 论坛徽章:
- 1
|
本帖最后由 number321 于 2016-06-21 14:39 编辑
我有一个PHP页面,使用curl去一个地址获取内容,然后显示给用户,会查看这个内容类别,如果不是html文本,则会在响应的头部中添加Content-Type: xxx。
代码如下:- $host = array("Host: ".$domain);
- $curl = new Curl();
- $curl->setOption(CURLOPT_TIMEOUT,5);
- $curl->setOption(CURLOPT_FOLLOWLOCATION,true);
- $curl->setOption(CURLOPT_HTTPHEADER,$host);
- $result = $curl->get($url);
- $finfo = new \finfo(FILEINFO_MIME_TYPE);
- $mime = $finfo->buffer($result);
- if($mime@="text/html"){
- header("Content-Type: ".$mime);
- }
- echo $result;
复制代码 现在遇到的问题是,HTML代码正常,部分图片显示正常,部分图片仍然为乱码。
为乱码的情况下,查看$mime变量的值为image/png,但用httpfox查看响应的头部的Content-Type值为text/html。
也就是说代码里设置了header为image/png,但实际返回给浏览器的是text/html,请问这是什么原因呢?
补充一下,我使用的Yii2,上面是Yii2的curl |
|