PHP函数前面添加@的作用

Posted 归回老本行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP函数前面添加@的作用相关的知识,希望对你有一定的参考价值。

@是php提供的错误信息屏蔽的专用符号。
比如在一个函数前使用@
@mysql_query 不会出现Warning,
而原来mysql_query 在遇到错误时会在页面上访提示Warning。

@是可以屏蔽函数执行过程中遇到问题而产生的一些错误、警告信息,这样用户就看不到程序的出错信息。这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息。

for($i=0;$i<$to;$i++){
    $result=fsockopen($target,$i,$errno,$errstr,);
    if(!$result){
        echo "Port $i Closed...".‘<br>‘;
    }else{
        echo "Socket open at port:$i".‘<br>‘;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

fsockopen在执行的过程中会产生连接超时的警告,如果不在这个函数前加@,那么输出信息是这样的:
技术分享图片

如图所示,错误信息会列出完整的路径和出错行,这是相当危险的!在看看在fsockopen()函数前加上@…那么警告信息就被屏蔽了:
技术分享图片



以上是关于PHP函数前面添加@的作用的主要内容,如果未能解决你的问题,请参考以下文章

2C++ 的升级

添加到片段时按钮不起作用

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

超级有用的9个PHP代码片段

这个代码片段有啥作用?

替换或删除后台堆栈上现有片段的代码不起作用