我想知道是否有可能有这样的if语句:
if file_get_contents() returns error code xxx OR xxx
die();
我不确定如何检查file_get_contents()
是否返回错误。
答案 0 :(得分:8)
您似乎希望获取HTTP状态代码。在这种情况下,您需要从这里阅读:
$http_response_header
http://php.net/manual/en/reserved.variables.httpresponseheader.php
否则,如果您想要一般性错误,请按照deceze的说明进行操作。
答案 1 :(得分:5)
http://php.net/file_get_contents
该函数返回读取数据或失败时返回FALSE。
它既可以使用也可以不运行:
$file = file_get_contents(...);
if ($file === false) {
die();
}
PS:当然,在上面的回答中,我希望您使用file_get_contents
来获取本地文件的内容。如果您尝试获取远程URL的HTTP状态代码,我建议您使用cURL或类似的专用HTTP库并解析响应头。
答案 2 :(得分:1)
作为php docs州,file_get_contents()
会在所有错误上返回false
,所以您所能做的就是
if ($content=file_get_contents($filename)===false) die("Error reading file $filename");
答案 3 :(得分:0)
你可以这样称呼它:
$data = file_get_contents("http://site.com/that.php");
if ($data !== FALSE) {
// analyze data
}