PHP 实例:PHP 中的 file_get_contents 获取远程页面乱码的问题
本文是为大家分享 PHP 中的
file_get_contents
获取远程页面出现乱码的问题解决方法。
PHP 的
file_get_contents
获取远程页面内容,如果是 gzip 编码过的,返回的字符串就是编
码后的乱码
1、解决方法,找个 ungzip 的函数来转换下
2、给你的 url 加个前缀,这样调用
$content
=
file_get_contents
("compress.
".
$url
);
无论页面是否经过 gzip 压缩,上述代码都可以正常工作!
使用 curl 模块同样可解决问题
复制代码 代码如下:
function
curl_get(
$url
,
$gzip
=false){
$curl
= curl_init(
$url
);
curl_setopt(
$curl
, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$curl
, CURLOPT_CONNECTTIMEOUT, 10);
if
(
$gzip
) curl_setopt(
$curl
, CURLOPT_ENCODING, "gzip");
// 关键在这里
$content
= curl_exec(
$curl
);
curl_close(
$curl
);
return
$content
;
}