我有一个核心的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以继续文件名..... 任何人都可以知道如何按升序获取文件名。
答案 0 :(得分:3)
您始终可以natsort文件名数组。
natsort($allfilename);
请注意,自然排序是必要的,因为您可能需要考虑filename_1
在filename_100
之前。另一种选择是使用sort函数。
sort($allfilename, SORT_NATURAL);
答案 1 :(得分:1)
您可以使用sort()
对数组值进行排序,(我的意思是它会对数组中的文件名进行排序)
sort($allfilename);
http://php.net/manual/en/function.sort.php
<强>更新强>
如果您想保留索引,请使用asort
asort - 对数组进行排序并维护索引关联
asort($allfilename);