排序目录中的.gz文件


Sorting .gz files in a directory

我有以下文件在我的目录- 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数组是缺失的,因为我需要访问数组中最顶端排序的文件。

您需要使用natsortarray_reverse作为

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

小提琴

从文档(和natsort):

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