2012-07-30 63 views
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>"; 

} 
?> 

回答

0

如果您使用scandir,則可以添加排序參數作爲第二個參數。然後你可以用array_slice拼接數組來獲得你想要的元素。

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

獲取您想要的文件或跳過前2個元素,因爲。和..你可以做array_slice($ array,2,10);

+0

這工作完美。 謝謝 – steverino 2012-07-30 21:54:22