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 に答える