php中的@readfile?

Jon*_*an. 8 php readfile

我讨厌google无法搜索符号.我在一些示例代码中看到了这一点,并想知道为什么在readfile函数之前有@符号:

@readfile($filename);
Run Code Online (Sandbox Code Playgroud)

没有@符号意味着什么不同?

Joe*_*oey 16

@PHP中的命令之前意味着打印没有错误.它被称为错误控制操作符.

如果您删除了@并且readfile会遇到错误(例如无法读取文件),那么 - 根据您的PHP设置 - 错误消息将在您的网站内容中; 你很少想要的东西,如果有的话.(甚至变得更糟,如果在调用之前发生这种情况,header()或者start_session()因为一旦发送内容,就不能再写入标题了.)


goa*_*oat 7

我将@称为"stfu运算符".


Sar*_*raz 6

它是PHP的错误抑制运算符.有了它,您可以抑制错误消息.

小费:

只需不要将错误抑制运算符与速度关键代码一起使用.

未来:

因为@运算符非常慢,所以它不适用于ini_set例如@ini_setPHP的未来版本,例如PHP6

重要阅读:

@运算符的错误用法


Cro*_*zin 5

它是错误控制操作员.手册会告诉你一切......