次のようなifステートメントを使用できるかどうか疑問に思っています。
if file_get_contents() returns error code xxx OR xxx
die();
file_get_contents()
エラーを返すかどうかを確認する方法がわかりません。
次のようなifステートメントを使用できるかどうか疑問に思っています。
if file_get_contents() returns error code xxx OR xxx
die();
file_get_contents()
エラーを返すかどうかを確認する方法がわかりません。
HTTP ステータス コードを取得しようとしているようです。その場合は、ここから読む必要があります。
$http_response_header
http://php.net/manual/en/reserved.variables.httpresponseheader.php
それ以外の場合、一般的なエラーが必要な場合は、deceze の指示に従います。
http://php.net/file_get_contents
この関数は、読み取りデータまたは失敗した場合に FALSE を返します。
次のように、機能するか機能しないかのいずれかです。
$file = file_get_contents(...);
if ($file === false) {
die();
}
PS: もちろん、上記の回答file_get_contents
では、ローカル ファイルの内容を取得するために使用することを期待しています。リモート URL の HTTP ステータス コードを取得しようとしている場合は、cURLまたは同様の特殊な HTTP ライブラリを使用して、応答ヘッダーを解析することをお勧めします。
PHPドキュメントの状態として、すべてのエラーでfile_get_contents()
返されるため、できることはfalse
if ($content=file_get_contents($filename)===false) die("Error reading file $filename");
そのように呼び出すことができます:
$data = file_get_contents("http://site.com/that.php");
if ($data !== FALSE) {
// analyze data
}