我在 php 方面遇到了一个小问题,我想写入一个文件,但如果为空并且函数返回 true file_exists()
我可以继续写入函数或附加数据,但如果文件不存在,我被迫做出另一个选项来创建文件在这种情况下我使用 file_put_contents
并且函数自己制作文件。无论如何,我只想使用这样的静默函数:@filesize('file.txt')
没有@
,我会收到一个警告,比如文件不存在并传递,我想知道将该功能与错误控制运算符一起使用是否可靠(@)
。提前谢谢你!
和我的代码:
if (@filesize('entries.txt') > 0 ){
file_put_contents('entries.txt', ',' . time(), FILE_APPEND);
}else {
file_put_contents('entries.txt', time());
}
我得出的结果如下:
if( !file_exists( $entries )) file_put_contents( $entries, '');
$smilliseconds = filesize( $entries ) >= 10? ','. $milliseconds: $milliseconds;
不,您永远不应该使用 @
运算符。它掩盖了您需要了解的问题,并且几乎总是有更好的方法。例如,您可以像这样组合file_exists
检查:
if (file_exists('entries.txt') && filesize('entries.txt') > 0 ){