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