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の記述は、ファイルオープンではよく使用します。