我正在使用此脚本扫描我的目录。
function listFolderFiles($dir) {
$ffs = scandir($dir, SCANDIR_SORT_DESCENDING);
echo '<ul>';
foreach($ffs as $ff) {
if($ff != '.' && $ff != '..') {
if(is_dir($dir.'/'.$ff)) {
echo '<li>'.$ff;
listFolderFiles($dir.'/'.$ff);
} else {
echo '<li><a href="'.$dir.'/'.$ff.'" target="_blank">'.$ff.'</a>';
}
echo '</li>';
}
}
echo '</ul>';
}
listFolderFiles('upload/files/');
目录structury总是一样的:首先你把年份当作目录(2013,2014,...),然后在那些目录中得到一堆文件。
我想以最近一年开始上市(如此下降),但我希望文件升序。
是否可以更改此代码,以便只将最高级别降序排序?
答案 0 :(得分:2)
您可以将排序模式传递给该函数。
function listFolderFiles($dir, $sort = SCANDIR_SORT_DESCENDING) {
$ffs = scandir($dir, $sort);
echo '<ul>';
foreach($ffs as $ff) {
if($ff != '.' && $ff != '..') {
if(is_dir($dir.'/'.$ff)) {
echo '<li>'.$ff;
listFolderFiles($dir.'/'.$ff, SCANDIR_SORT_ASCENDING);
} else {
echo '<li><a href="'.$dir.'/'.$ff.'" target="_blank">'.$ff.'</a>';
} echo '</li>';
}
} echo '</ul>';
}
默认值可以像您当前一样调用该函数。