PHP functions and @functions
基本上,我见过人们在函数调用之前使用@,不是针对每个函数,而是针对某种扩展函数,如file_get_contents()、mysql_connect()等等。
是的,问题是:在函数调用之前,这些@用于什么目的?
或者换句话说,@file_get_contents()和file_get_contents()有什么区别?
- 参见参考-这个符号在PHP中是什么意思?
- 在PHP中,@可能是什么意思的副本?
@是错误控制运算符。基本上是抑制错误。
- @汤姆,我希望你能从这个解释中明白,这个符号永远不应该使用。
- @当然是子母弹!我对每一个错误都很感兴趣,所以至少要解决一些问题。
它是php的error control operator用于抑制函数调用生成的任何错误。
@函数在其HTML输出上不显示任何错误消息,而常规函数调用将显示任何错误消息。
- 想知道为什么投反对票。
- 是什么?我不明白。
- @法布里和你的理由一样。但是,虽然您的输出不明确(只是"输出"),但这一个明确地声明了HTML输出,这当然是一个胡说八道。错误控制与程序的输出无关。
- @法布里克:老实说,我不明白你是在嘲笑还是真诚地问。不管怎样,我都不在乎。@子母弹:要求你们输入错误控制的定义,以便我们所有人对这个问题有更多的了解。我同意我的回答缺乏深度,因为我只是说了我理解的话:)谢谢。
- 他不是在和你说话。但对于投反对票的人。现在明白了吗?错误控制由两部分组成:标准错误输出目标和错误级别。@操作符和error_reporting设置都是误差控制级。(@设置为0),而log_errors和display_errors设置负责目的地。后者负责您所说的:HTML输出。虽然@
- 抓住了。谢谢:)+1致上校:)
函数前面的@符号防止在调用函数时显示错误。
- php.net/manual/en/book.errorfunc.php
我对在函数前面使用@也有类似的怀疑。为了避免这种情况,我在函数调用之前做了一些验证。我的例子是:
if ( is_file($filename) )
$timestamp = filemtime( $filename );