3

我想知道是否有可能有这样的 if 语句:

if file_get_contents() returns error code xxx OR xxx
    die();

我不确定如何检查是否file_get_contents()返回错误。

4

4 回答 4

8

您似乎正在寻找 HTTP 状态代码。在这种情况下,您需要从这里阅读它:

$http_response_header

http://php.net/manual/en/reserved.variables.httpresponseheader.php

否则,如果您想要一般错误,请按照 deceze 的说明进行操作。

于 2012-05-24T03:01:36.187 回答
5

http://php.net/file_get_contents

该函数返回读取的数据或失败时返回 FALSE。

它要么有效,要么无效,例如:

$file = file_get_contents(...);
if ($file === false) {
    die();
}

PS:当然,在上面的答案中,我希望您使用file_get_contents来获取本地文件的内容。如果您尝试获取远程 URL 的 HTTP 状态代码,我建议您使用cURL或类似的专用 HTTP 库并解析响应标头。

于 2012-05-24T03:00:32.377 回答
1

正如php 文档所述,file_get_contents()将返回false所有错误,所以你所能做的就是

if ($content=file_get_contents($filename)===false) die("Error reading file $filename");
于 2012-05-24T03:01:31.240 回答
0

你可以这样称呼它:

$data = file_get_contents("http://site.com/that.php");
if ($data !== FALSE) {
   // analyze data
}
于 2012-05-24T03:02:00.480 回答