沖縄が日本のシリコンバレーのようになってほしいと願うiOSエンジニアのブログ

世のエンジニアの役に立つようなブログにしたいなぁ

ファイルを開く際の「@」と「or」

ファイルを開く処理:
$fp=@fopen("files/20030115.txt","w") or die("ファイルのオープンに失敗しました");
上記処理でのfopenの前の@と後ろのorについて

「@」はfopenでエラーが起きてもエラーは無視され
エラーメッセージは表示されませんという意味。
「or」はファイルオープンが正常にできなかったらその後の処理
ここでは"ファイルのオープンに失敗しました"と表示して
dieプログラムを終了します。

これは論理演算式の方式で、最初にファイルオープンを実行し、これがtrue(真)だったら、orが成立するので(どちらかが真)後ろのdieは無視されます