php里的@符号是什么用处,例如$file_size = @filesize($_FILES[$upload_name]["tmp_name"]);

2025-05-15 21:24:12
推荐回答(3个)
回答1:

答:压制错误信息
例如
fopen('c:/', 'r+');
很明显不可能,程序执行到这里就会抛出一个错误
@fopen('c:/', 'r+'); 这个错误就不会抛出了

但是,这个东西绝对没用,如果你的程序需要用这个就证明这个地方有bug。
如同你的例子@filesize($_FILES[$upload_name]["tmp_name"]);
这有什么意义呢?虽然没显示错误信息,可是如果真错了,后面的代码还跑得对吗?
正确方式是
if (empty($_FILES[$upload_name]['error'])) {
//这说明没有错误发生,那么
$size = filesize(...);//也不会出错

} else {
//你应该进行错误处理

}

回答2:

@符号用来将PHP中的警告忽略

回答3:

抑制错误输出的