排序目录列表

时间:2013-09-20 13:28:28

标签: php sorting while-loop directory output

我想对此脚本的输出进行排序。

它显示了包含一些排除项的完整目录的输出。

<?php
if ($handle = opendir('.')) {
    $blacklist = array('.', '..', '.svn', 'pagina.php','index.php','index.html');

echo "<h1>Statistics for:</h1>";
echo "<TABLE align=left border=1 cellpadding=5 cellspacing=0 class=whitelinks>";

 while (false !== ($file = readdir($handle))) {
        if (!in_array($file, $blacklist)) {

                echo "<TR><TD><a href='./$file'>$file\n</a></TD></TR>";
        }
    }
    closedir($handle);

echo"</TABLE>";
}
?>

我想要做的是对字母表中目录的输出进行排序。 A - &gt; B - &gt; C ...

我该如何解决这个问题。我尝试过排序。但我可以让它发挥作用

1 个答案:

答案 0 :(得分:0)

首先将$file放入数组,然后在数组上使用sort,然后打印出html

$files = array();
while (false !== ($file = readdir($handle))) {
   if (!in_array($file, $blacklist)) {
      $files[] = $file;
   }
}

sort($files,SORT_NATURAL); //use natsort if php is below 5.4

foreach($files as $file) {
   echo "<TR><TD><a href='./$file'>$file\n</a></TD></TR>";
}