使用PHP

时间:2016-12-01 19:33:17

标签: php

我的代码:

<?php

$dirs = array_filter(glob('*'), 'is_dir');
$files = array_filter(glob('*'), 'is_file');
$all = $dirs + $files;

foreach ($all as $value){
    echo '<li><a href="'.$value.'">'.$value.'</a></li>'; 
}
?>

这会以随机顺序返回所有文件和文件夹:

Array
(
    [2] => New folder
    [6] => dir
    [7] => dir1
    [8] => dir2
    [9] => dir3
    [0] => A_test.txt
    [1] => Index.php
    [3] => app.exe
    [4] => b_test
    [5] => delete.php
    [10] => hello.png
    [11] => z_test.txt
)

sort()无效。我想按默认顺序对它们进行排序。

1 个答案:

答案 0 :(得分:0)

就像Half Crazed所提到的那样,在回复文件之前,你只是缺少文件的sort()。

<?php

$dirs = array_filter(glob('*'), 'is_dir');
$files = array_filter(glob('*'), 'is_file');
$all = $dirs + $files;

sort($all); //sort them

foreach ($all as $value){
    echo '<li><a href="'.$value.'">'.$value.'</a></li>'; 
}

?>