php – 有没有一种方法来glob()只有文件?

我知道glob可以查找文件夹中的所有文件或所有目录:

echo "All files:\n";
$all = glob("/*");
var_dump($all);

echo "Only directories\n";
$dirs = glob("/*", GLOB_ONLYDIR);
var_dump($dirs);

但是我没有找到有效的方法来找到一行中的文件。

$files = array_diff(glob("/*"), glob("/*", GLOB_ONLYDIR));

工作良好,但读取目录两次(即使有some optimizations使第二次浏览更快)。

我终于找到了一个解决方案:

echo "Only files\n";
$files = array_filter(glob("/*"), 'is_file');
var_dump($files);

但请注意,array_filter将保留数字键:如果需要reindex数组,请使用array_values

http://stackoverflow.com/questions/14084378/is-there-a-way-to-glob-only-files

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 有没有一种方法来glob()只有文件?