0

日付でラベル付けされたディレクトリ (例: 2012-07-05.xls、2012-07-04.xls) にファイルがあり、そのディレクトリ内の最後の 10 個のファイルのみを一覧表示 (およびリンク) したい。最新のもの。適切な順序でリストを簡単に生成できますが、リストを 10 に制限する方法がわかりません (また、ディレクトリの "." および ".." エントリを返しません)。

これが私が今持っているものです。すべての提案を受け入れます。

<?php
$path = $_SERVER[DOCUMENT_ROOT]."/path/";
$dh = @opendir($path);

$files = array();
while (false !== ($file = readdir($dh))) {
            array_push($files, $file);
        }

rsort($files);
foreach ($files as $file){
    echo "<li><a href=\"$file\">";
    echo($file)."</a></li>";

}
?>
4

1 に答える 1

0

scandirを使用する場合は、2 番目の引数として並べ替えパラメーターを追加できます。次に、配列をarray_sliceでスプライスして、必要な要素を取得できます。

$array = scandir($path); $files = array_slice($array, 0, 10);

必要なファイルを取得するか、. そして.. array_slice($array, 2, 10); を実行できます。

于 2012-07-30T19:11:59.887 に答える