php spot
phpが使えるレンタルサーバー特集
検索グラス
トップページへ

関数前の@について
関数前に @fopen のように、@ がついていることがあります。

この名前はエラー制御演算子というそうです。

これは何かというと、普通に fopen を使うと、fopen に失敗した際に、エラーが表示されてしまいます。

このエラーを表示しないのが @fopen となります。

fopen などのようによく使う関数で、ファイルがなかったりすることが結構あったりしますが、@をつけておけばエラーが出ないので、どうしようもない場合など @ をつけるようにしましょう。

@ を付けたらエラーメッセージは表示されませんが、
$php_errormsg という名前のグローバル変数にエラーメッセージが入ります。

<?php

$fp 
= @fopen("hoge.txt","w");
 
// これでエラーは出ない

if ($php_errormsg) {
    echo 
$php_errormsg// エラーを自分で出力
}

?>

上記例では echo で出力してますが、ログに吐いたりメールで通知したりといろいろ処理できると思います。

スポンサードリンク



もどる
管理人の新着ブログ記事

    プライバシーポリシー | お問い合わせ
copyright © 2003-2017 phpspot all rights reserved. powered by phpspot CMS.