関数前に @fopen のように、@ がついていることがあります。
この名前は
エラー制御演算子というそうです。
これは何かというと、普通に fopen を使うと、fopen に失敗した際に、エラーが表示されてしまいます。
このエラーを表示しないのが @fopen となります。
fopen などのようによく使う関数で、ファイルがなかったりすることが結構あったりしますが、@をつけておけばエラーが出ないので、どうしようもない場合など @ をつけるようにしましょう。
@ を付けたらエラーメッセージは表示されませんが、
$php_errormsg という名前のグローバル変数にエラーメッセージが入ります。
<?php
$fp = @fopen("hoge.txt","w");
// これでエラーは出ない
if ($php_errormsg) {
echo $php_errormsg; // エラーを自分で出力
}
?>
上記例では echo で出力してますが、ログに吐いたりメールで通知したりといろいろ処理できると思います。
スポンサードリンク
もどる