【问题标题】:Sorting folders using PHP [duplicate]使用 PHP 对文件夹进行排序 [重复]
【发布时间】:2014-04-17 21:43:42
【问题描述】:

我是 php 的初学者。我编写了一个脚本,列出文件夹并显示其中的文件。但是,我无法弄清楚如何按字母顺序对它们进行排序。有没有人有解决这个问题的建议? (希望不用改很多代码,因为我在很多地方都用过这段代码……)

$path ="Prosedyrer";
if ($handle = opendir($path)) 
{
    $blacklist = array('.', '..', 'somedir', 'somefile.php');
    while (false !== ($file = readdir($handle)))
    {
        if (!in_array($file, $blacklist))
        {
            echo "<li>$file</a>\n <ul class=\"sub\">";
        }
    }
}

【问题讨论】:

    标签: php sorting


    【解决方案1】:

    这是来自 PHP 文档:

    array scandir (string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]])

    排序顺序 默认情况下,排序顺序是按字母升序排列的。如果可选的排序顺序设置为 SCANDIR_SORT_DESCENDING,那么排序顺序是按字母降序排列的。如果设置为 SCANDIR_SORT_NONE 则结果未排序。

    【讨论】:

      【解决方案2】:

      使用glob(),它更方便,并立即为您提供数组。

      $files = glob('SomePath/*');
      $blacklist = array('.', '..', 'somedir', 'index.php');
      $files = array_diff($files, $blacklist); // get rid of the blacklisted files
      sort($files); // sort them a-z!
      foreach ($files as $file) echo "<li>$file</a>\n <ul class=\"sub\">";
      

      【讨论】:

        猜你喜欢
        • 2013-02-10
        • 2010-09-20
        • 2021-08-20
        • 2012-12-25
        • 2022-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-04
        相关资源
        最近更新 更多