PHPのスクリプトを実行すると、文法エラーや実行時エラーなど、さまざまなエラーメッセージや警告メッセージが表示されることがあります。これらPHPが発するエラーメッセージは、プログラムによってその表示を制御することができます。
エラーが発生する可能性がある行の前に、次の命令(上行)を記述します。それ以降はすべてのエラーメッセージが表示されなくなります。この設定を解除するには、下行の命令を記述します。
error_reporting(0) → エラーメッセージを表示しなくなる
error_reporting(E_ALL) → エラーメッセージを表示する
この方法を使うと、開発時やデバッグ時に必要なエラー情報も表示されなくなってしまうので、限定された場面で利用するのが用意でしょう。
エラーが発生する可能性がある関数名の直前にエラー制御演算子「@」を記述することによって、その関数によって発生したエラーを無視できます。
@rmdir("test")
ここでは、rmdir()関数を使ってtestディレクトリを削除しようとしています。そのディレクトリが存在しない場合はエラーメッセージが表示されます。そこで、上記の2つの方法でエラーメッセージの表示を止めています。この例では1回目と3回目のrmdir()関数実行時だあけ、エラーメッセージが表示されています。
<?php header("Content-type: text/html; charset=utf-8"); //testディレクトリを削除 echo "テストケース1<br>"; rmdir("test"); //エラーレベルを下げて再実行 echo "テストケース2<br>"; error_reporting(0); rmdir("test"); //エラーレベルをもとに戻して再実行 echo "テストケース3<br>"; error_reporting(E_ALL); rmdir("test"); //エラー制御演算子を使って再実行 echo "テストケース4<br>"; @rmdir("test"); ?>