为什么我没有获得file_get_contents($ myurl)的回报,但我确实获得了wget的输出
更新
我使用curl获取返回标题和结果,并发现它在标题上而不是在正文中
HTTP/1.1 200 Document follows
Transfer-Encoding: chunked
Content-type: text/plain
Server: XMS (724Solutions HTA XSAM_30_M2_B020 20070803.172831)
Date: Fri, 21 May 2010 10:48:31 GMT
Accept-Ranges: bytes
HTTP/1.1 404 ChargedPartyNotAvailable
Transfer-Encoding: chunked
Content-type: text/plain
Server: XMS (724Solutions HTA XSAM_30_M2_B020 20070803.172831)
Date: Fri, 21 May 2010 10:34:13 GMT
Accept-Ranges: bytes
如何只提取“200 Document Follow”和“404 ChargedPartyNotAvailable”?
答案 0 :(得分:5)
你的php配置中是否启用了allow_url_fopen?
但是我希望如果没有,你会收到警告 - 你有没有显示错误/警告?您可以暂时添加到脚本的顶部:
error_reporting(E_ALL);
ini_set('display_errors', true);
然后您可能会发现为什么file_get_contents()不起作用。
修改强>
如果您只对标题感兴趣,则可能只能使用get_headers()
。
答案 1 :(得分:3)
您可以使用PHP Curl包来检索URL的内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$myUrl);
$result = curl_exec($ch);
curl_close($ch);
或者如果您只想使用file_get_contents,请检查您是否正确配置了PHP.ini
http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
如此处所述(http://php.net/manual/en/function.file-get-contents.php)
URL可以用作文件名 这个函数如果是fopen包装器 已启用。请参阅fopen() 有关如何指定的更多详细信息 文件名。
答案 2 :(得分:0)
你可以尝试:
$contents = implode('', file($myurl));
我经常使用它。