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 に答える