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