如何使用 PHP 按字母顺序列出目录中的前 5 个文件或目录?
问问题
5666 次
3 回答
21
使用scandir()
:
array_slice(array_filter(scandir('/path/to/dir/'), 'is_file'), 0, 5);
与函数回调array_filter()
一起is_file()
确保我们只处理文件而无需编写循环,我们甚至不必关心它们.
,..
因为它们是目录。
或使用glob()
-它不会匹配文件名,如.htaccess
:
array_slice(glob('/path/to/dir/*.*'), 0, 5);
或使用glob()
+array_filter()
-这将匹配文件名,如.htaccess
:
array_slice(array_filter(glob('/path/to/dir/*'), 'is_file'), 0, 5);
于 2010-01-21T23:14:30.617 回答
1
它可能是最简单易用的scandir
,除非您想做一些更复杂的事情。scandir
也返回目录,所以我们将过滤为只允许文件:
$items = scandir('/path/to/dir');
$files = array();
for($i = 0, $i < 5 && $i < count($items); $i++) {
$fn = '/path/to/dir/' . $items[$i];
if(is_file($fn)) {
$files[] = $fn;
}
}
于 2010-01-21T22:56:09.697 回答