如何在命令文件夹中获取文件名

时间:2012-11-01 06:43:23

标签: php

我有一个核心的php文件,我希望在一个特定的文件夹中获取文件名,例如, 我有很多文件,但每个文件名像filename_0,filename_1,filename_2这样,所以当我在文件夹中获取文件名不正确的顺序,我得到filename_0,filename_2,filename_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以继续文件名..... 任何人都可以知道如何按升序获取文件名。

2 个答案:

答案 0 :(得分:3)

您始终可以natsort文件名数组。

natsort($allfilename);

请注意,自然排序是必要的,因为您可能需要考虑filename_1filename_100之前。另一种选择是使用sort函数。

sort($allfilename, SORT_NATURAL);

答案 1 :(得分:1)

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

sort($allfilename);

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

<强>更新

如果您想保留索引,请使用asort

asort - 对数组进行排序并维护索引关联

asort($allfilename);