PHP入門 ファイルシステム関数 fopen関数でのエラー処理(@、or、die関数)
die関数は指定されたメッセージを出力してスクリプトを強制終了させるための関数です。「@fopen ・・・or die ・・・」とは「ファイルを開きなさい、さもなければ(or)終了しない」という意味になります。
構文:die関数
die([string $status]):void
$status | 終了時に表示する文字列 |
fopen関数は、たとえば「指定されたファイルが存在しない」「ファイルに書き込む権限がない」などの理由でファイルを開けなかった場合、戻り値としてfalseを返すとともに、警告を発生します。通常は、エラーメッセージを表示しスクリプトを強制終了します。このような場合、エラーに対して、警告を発生させたくないというケースも多々あります。
@fopen('access.log','a') or die('ファイルを開けませんでした');
エラー制御演算子@は、警告やエラーを発生させる命令の値に「@」を付けることで、ファイルのオープンに失敗しても警告は発生しなくなります。ただし、これだけでは問題の箇所がわかりませんので、or演算子によるショートカット演算の性質を利用し(or演算子では、左辺がtrueの場合に右辺の式は無視)、die関数の指定されたメッセージを出力してスクリプトを強制終了させます。
@演算子+or dieの記述は、ファイルオープンではよく使用します。