ファイルをインクルードしようとしていますが、ファイルが存在しない、または開くことができない場合はキャッチします。私は単純なtry/catchステートメントがうまくいくと思っていただろうが、PHPはそれを完全に無視してエラーを出しているようだ。PHPが失敗したインクルードをキャッチ
アイデア?私はstackoverflow上でこのような他の質問があることを知っている、私はそれらを見たが、それらのどれも、適切な、働く答えを持っているようです。
ファイルをインクルードしようとしていますが、ファイルが存在しない、または開くことができない場合はキャッチします。私は単純なtry/catchステートメントがうまくいくと思っていただろうが、PHPはそれを完全に無視してエラーを出しているようだ。PHPが失敗したインクルードをキャッチ
アイデア?私はstackoverflow上でこのような他の質問があることを知っている、私はそれらを見たが、それらのどれも、適切な、働く答えを持っているようです。
あなたはの戻り値を、それが失敗したかどうかを確認するために含んで確認できます。
if((@include $filename) === false)
{
// handle error
}
をあなたは、私が表示されてからの標準エラーメッセージを非表示にするには、エラー抑制演算子(@
)を含ん注意しましょう。
失敗したときにfalse
戻りinclude()
ので、ちょうどそれがtrueを返すかどうかを確認してからdie()
のような何かをするか、エラーが表示されます。 @を使用して
if (!include('page.php'))
die('Error.');
'die'に行くなら、[require](http://php.net/ manual/en/function.require.php)です。 –
ええ、良い点。 – Simone
これはまだPHPの警告を示しています。 –
は、私は、@を使用してエラーを処理した場合、エラー制御演算子は、完全に罰金だと思う非常に汚いソリューション – Nicolas
です。このような警告が有効になっている構成では、厄介なインクルードエラーが出力されないことを確認します。 – drew010
うん、これをやりたいのは正確な理由は、エラーを処理することです;) –