我有一个名为my_folder
的空文件夹:
$mas = glob("my_folder/*");
var_dump($mas);
如果在my_folder
我有文件,结果就是数组,但如果my_folder
为空,则结果为false
。
为什么结果false
而不是空数组()?
答案 0 :(得分:2)
您很可能没有my_folder
的权限。
也可能是因为(来自PHP手册):
在某些系统上,无法区分空匹配和错误。
如果后者属于你的情况,我建议你回到“classic”的方式来做到这一点:
while (false !== ($entry = readdir($handle))) {
echo "$entry\n";
}
使用:
opendir(), readdir(), closedir()
答案 1 :(得分:1)
当出现错误时,PHP Manual说glob
会返回FALSE
。你没有得到一个空数组,因为有一个错误。
以下是glob
的一些常见错误:
www-data
没有权限,即是)答案 2 :(得分:0)
返回值: 返回包含匹配文件/目录的数组,如果没有匹配文件则返回空数组;如果错误则返回 FALSE。
注意: 在某些系统上,无法区分空匹配和错误。
检查这两点与您和您的特定平台无关。
答案 3 :(得分:0)
来自返回值部分下的PHP glob manual page:
返回包含匹配文件/目录的数组,如果没有文件匹配则返回空数组,如果错误则返回FALSE。