【发布时间】:2018-06-07 12:43:26
【问题描述】:
我正在尝试提取外部网站的编码并将其保存在 JSON 文件 (UTF-8) 中。
在我尝试“www.secra.de”之前它运行良好,它将此页面中的值保存为 Null。
正如我所见,在“Content-Type”上获得的值超过了值,我认为这可能是重定向,但我不确定。
最好的解决方法是什么?
$domain = "http://www.secra.de";
$info = get_headers($domain, 1)["Content-Type"];
$infostr = explode('=', $info);
$encoding = end($infostr);
if (!empty($info)){
$data_array[$key]['encode'] = $encoding;
} else {
$data_array[$key]['encode'] = "It don't have Encode";
}
$json = json_encode($data_array);
file_put_contents('data/data.json', $json);
};
【问题讨论】:
-
$info的值到底是什么不起作用...? -
$info 正在工作,我做了一些“测试”,问题是 $infostr = explode('=', $info);我认为,如果我打印 $info,它会显示所有 Content-Type 的值,但如果我打印 $encoding,它会显示“Null”
-
那么,我再说一遍,
$info不起作用时的具体值是多少?如果您将$info替换为'text/html; charset=utf-8',那么您的代码可以正常工作。 -
是值:text/html;字符集=iso-8859-1 [1] => 文本/html; charset=utf-8
-
什么?你到底是从哪里得到这个值的?