2

我有一个核心 php 文件,我想在其中获取特定文件夹中的文件名,顺序如下不正确的顺序,我得到文件名_0,文件名_2,文件名_1 ..

    $dir_path="/var/lib/myproject";
        $folder=dir("$dir_path");
                    $j=0;$allfilename='';
                    while($folderEntry=$folder->read())
                    {
                        if($folderEntry == '.' || $folderEntry == '..' )
                        {
                        continue;
                        }else{
echo "Path of directory is>>>>>>>>".$folderEntry;
                        $allfilename[]=$folderEntry;
                        $j++;
                        }
                    }
  $folder->close();

我可以获取文件名但无法获取顺序,因此任何顺序都会增加 filename_0 以继续文件名.....所以任何人都可以知道如何按升序获取文件名。

4

2 回答 2

3

您始终可以对文件名数组进行natsort 排序。

natsort($allfilename);

请注意,这里自然排序是必要的,因为您可能要考虑filename_1before filename_100。另一种选择是使用排序功能。

sort($allfilename, SORT_NATURAL);
于 2012-11-01T06:46:37.650 回答
1

您可以使用sort()对数组值进行排序,(我的意思是它将对数组中的文件名进行排序)

sort($allfilename);

http://php.net/manual/en/function.sort.php

更新:

如果要保留索引,请使用asort

asort - 对数组进行排序并保持索引关联

asort($allfilename);
于 2012-11-01T06:45:32.973 回答