[英]Open folder without PHP warnings
如果无法访问文件夹, opendir()
给我一个PHP警告。
我可以使用is_dir,但是如果同时删除该文件夹怎么办:
if(is_dir($some_dir)){
// HERE, DELETED, GONE :(
$d = opendir($some_dir);
// warning !!0
}
该警告弄乱了我的整个错误处理代码。
有什么方法可以在没有警告的情况下进行文件操作? FALSE结果足以了解该文件不可访问,我也不明白为什么它也必须警告我:(
请不要告诉我使用@。 一定有更好的方法
$d = @opendir($some_dir);
@
在函数沉默错误之前,函数可能会引发。
然后,您可以测试$d
以查看其是否有效(如果无效则为False)。
哦对了,谢谢您的评论,OP提到了@
我的坏话。
然后另一种可能性是更改您的php配置,以便php不会发出警告。
通过首先检查该变量是否设置来尝试以下操作。
if(isset($some_dir)):
if(is_dir($some_dir)):
// HERE, DELETED, GONE :(
$d = opendir($some_dir);
// warning !!0
endif;
endif;
试试这个代码
if(is_dir($some_dir)){
// HERE, DELETED, GONE
$d = @opendir($some_dir);
// warning
}
如果不想使用“ @”,则必须检查/确认$ some_dir上的目录路径是否正确
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.