关于运算符:PHP函数和@functions

PHP functions and @functions

基本上,我见过人们在函数调用之前使用@,不是针对每个函数,而是针对某种扩展函数,如file_get_contents()mysql_connect()等等。

是的,问题是:在函数调用之前,这些@用于什么目的?

或者换句话说,@file_get_contents()file_get_contents()有什么区别?


@是错误控制运算符。基本上是抑制错误。


它是php的error control operator用于抑制函数调用生成的任何错误。


@函数在其HTML输出上不显示任何错误消息,而常规函数调用将显示任何错误消息。


函数前面的@符号防止在调用函数时显示错误。


我对在函数前面使用@也有类似的怀疑。为了避免这种情况,我在函数调用之前做了一些验证。我的例子是:


if ( is_file($filename) )
$timestamp = filemtime( $filename );