我的目录中有按日期标记的文件(例如,2012-07-05.xls,2012-07-04.xls),我只想列出(并链接)该目录中的最后10个文件,从最新的开始。我可以很容易地按正确的顺序生成列表,但不知道如何将其限制为10(并且不会为目录返回"."one_answers".."条目)。
这是我现在拥有的。欢迎所有建议。
<?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>";
}
?>
如果使用scandir,可以添加一个排序参数作为第二个参数。然后,您只需将数组与array_slice拼接即可获得所需的元素。
$array=scandir($path);$files=array_slice($array,0,10);
以获取所需的文件,或者由于而跳过前两个元素。和您可以执行array_slice($array,2,10);