@readfile в php?

Я ненавижу тот Google, не может искать символы. Я видел это в некотором примере кода и задался вопросом, почему существует знак перед функцией readfile:

@readfile($filename);

Что означает различный от без символ?

8
задан Jonathan. 16 April 2010 в 16:25
поделиться

5 ответов

@ перед командой в PHP означает, что ошибки не выводятся. Он называется оператором контроля ошибок .

Если вы удалите @ и файл чтения , возникнет ошибка (например, невозможность прочитать файл), тогда - в зависимости от настроек PHP - появится сообщение об ошибке быть среди содержания вашего сайта; то, чего вы редко хотите, если вообще хотите. (Еще хуже, если это произойдет до вызова header () или start_session () , потому что после отправки контента заголовки больше не могут быть записаны.)

16
ответ дан 5 December 2019 в 04:58
поделиться

Это оператор управления ошибками . Руководство расскажет вам все ...

5
ответ дан 5 December 2019 в 04:58
поделиться

Я называю @ "оператором stfu".

7
ответ дан 5 December 2019 в 04:58
поделиться

Это оператор подавления ошибок PHP. С его помощью вы можете подавить сообщения об ошибках.

Совет:

Просто не используйте оператор подавления ошибок с кодом, критичным по скорости.

Будущее:

Поскольку оператор @ работает очень медленно, он не будет работать с ini_set , например, @ini_set в будущей версии PHP, например PHP6

Важная информация:

Неправильное использование оператора @

6
ответ дан 5 December 2019 в 04:58
поделиться

@ означает «не показывать ошибки / предупреждения»

3
ответ дан 5 December 2019 в 04:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: