PHP - 按字母顺序列出目录文件

I have a page that lists all files inside a directory, and if possible I'd like them to be sorted by alphabetical order. Not quite sure how to do that though. Below is the current code. If anyone has any ideas that's be awesome!

<?php
  function getFileList($dir)
  {
    // array to hold return value
    $retval = array();

    // add trailing slash if missing
    if(substr($dir, -1) != "/") $dir .= "/";

    // open pointer to directory and read list of files
    $d = @dir($dir) or die("getFileList: Failed opening directory $dir for reading");
    while(false !== ($entry = $d->read())) {
      // skip hidden files
      if($entry[0] == ".") continue;
      if(is_dir("$dir$entry")) {
        $retval[] = array(
          "name" => "$dir$entry/",
          "type" => filetype("$dir$entry"),
          "size" => 0,
          "lastmod" => filemtime("$dir$entry")
        );
      } elseif(is_readable("$dir$entry")) {
        $retval[] = array(
          "name" => "$dir$entry",
          "type" => mime_content_type("$dir$entry"),
          "size" => filesize("$dir$entry"),
          "lastmod" => filemtime("$dir$entry")
        );
      }
    }
    $d->close();

    return $retval;
  }
?>

<?php
  // list files in the current directory
  $dirlist = getFileList(".");
  $dirlist = getFileList("./");
?>


<?php
  echo "<div id=\"menu\">";
  echo "<div class=\"menu1 title\">Name</div><div class=\"menu2 title\">Last Modified</div>
";
  foreach($dirlist as $file) {
    echo "<div class=\"menu1\"><a href=\"{$file['name']}\" target=\"_blank\">",number_format(++$counter),".&nbsp;",basename($file['name']),"</div>
";
    echo "<div class=\"menu2\">",date('r', $file['lastmod']),"</div>
";
  }
  echo "<div class=\"clear\"></div>
";
  echo "</div>
";
?>

add this

natsort($retval);

before

return $retval;

In your getFileList function add this before returing the value:

usort($retval, function($dirA, $dirB) {
    return strnatcmp($dirA['name'], $dirB['name']);
});

Note that you need to have php 5.3.0 or higher to use anonymous functions.