fopen с / без @ перед этим

Я видел образцы кода, которые используют @ перед fopen как в

 $fh = @fopen($myFile, 'w'); 

В чем смысл этого @ ?

Solutions Collecting From Web of "fopen с / без @ перед этим"

Он подавляет ошибки, которые может отображать выражение.

Вы можете прочитать об этом здесь .

Пример:

 file_get_contents('file_does_not_exist'); //this shows an error @file_get_contents('file_does_not_exist'); //this does not 

Свойство управления ошибкой PHP.

PHP поддерживает один оператор управления ошибкой: знак at (@). При добавлении выражения в PHP любые сообщения об ошибках, которые могут быть сгенерированы этим выражением, будут игнорироваться .

Больше здесь .

Использование @ – это всегда плохая практика. Он будет подавлять сообщение об ошибке, если встречается, в то время как сообщения об ошибках чрезвычайно полезны для программиста, а подавление – самоубийство. Судьба PHP должна использоваться в основном не программистами, а случайными пользователями, которые не имеют понятия. У вас есть этот код из одного из последних. Итак, лучше избавиться от всех @ , так что вы сможете увидеть, что произошло, и исправить ошибку.
Обратите внимание, что каждое сообщение об ошибке имеет особое значение и объясняет, в чем проблема. Например, может возникнуть проблема с правами файловой системы или настройка PHP OPEN_BASEDIR, чтобы предотвратить открытие файла. Таким образом, сообщение об ошибке сообщит вам, что делать. Сообщения об ошибках хорошие, а @ – зло.