在目录中对.gz文件进行排序

时间:2015-07-29 06:14:35

标签: php arrays file

我的目录中有以下文件 - case-1.gz , case-2.gz, ........ , case-12.gz, index.xml。下面是我按字母顺序对文件进行排序的代码 -

$dir = '/var/www/html/es/a';
$files = array_diff(scandir($dir,1), array('..', '.', 'index.xml'));
print_r($files);

输出如下 -

    Array
(
    [1] => case-9.gz
    [2] => case-8.gz
    [3] => case-7.gz
    [4] => case-6.gz
    [5] => case-4.gz
    [6] => case-3.gz
    [7] => case-2.gz
    [8] => case-12.gz
    [9] => case-11.gz
    [10] => case-10.gz
    [11] => case-1.gz
)

我需要一个模式为case-12.gz, case-11.gz, case-10.gz, case-8.gz, ........ , case-1.gz

的数组

同样在我上面的输出偏移0的数组丢失,因为我需要访问数组中排名最高的文件。

2 个答案:

答案 0 :(得分:0)

来自documentation(和natsort):

<?php
natsort($files);
print_r($files);
?>

答案 1 :(得分:0)

您需要将natsortarray_reverse一起使用

natsort($arr);
$array = array_reverse($arr);
print_r($array);

Fiddle