在PHP中使用readDir时按字母顺序排序文件

时间:2015-01-12 22:50:43

标签: php

我使用以下php扫描目录并输出文件。

我需要按字母顺序排序,但不知道如何做到这一点。

这是我到目前为止所做的:

<?php

  // path to directory
  $directory = "gallery/photos/";

  // open the directory
  $handle = openDir($directory);

  // Read the directory
  while ($file = readDir($handle)) {
    // filter the directory
    if ($file != "." && $file != ".." && !is_dir($file)) {
      // Allow only images (filter)
      if (strstr($file, ".gif") || strstr($file, ".png") || strstr($file, ".PNG") || strstr($file, ".jpg")) {

        // Path to the actual file
        $directory_file = $directory . $file;

        // Get image information (width, height)
        $info = getImageSize($directory_file);

        // show the picture
        echo "<img src=\"$directory_file\" data-title=\"$file\"";
        echo " width=\"$info[0]\" height=\"$info[1]\"> <br>\n";
      }
    }
  }

  // Close the directory
  closeDir($handle);
?>

1 个答案:

答案 0 :(得分:0)

使用scandir代替按字母顺序返回文件

$arr = array_diff( scandir ( $directory ), ['.', '..'] );
// We are remmoving . and .. at this place

foreach($file in $arr){

    // do your stuff

}