如何对目录搜索结果进行排序.


How to sort results of directory search...?

我有一个名为"logs"的子目录,用于存储要下载的文件。我正在尝试创建一个动态下载页面。

有5个突袭被引用(dragonsoul、firelands、tier11、tier14和ulduar)和日志文件夹中的文件,并以格式ex.dragonsoul07072013.3csv命名(其中名称的末尾是日期)。

下载页面:

我有一个表格,里面有每一次突袭的选择列表

<?php
$raidref=$_POST['raid'];
function getfilename($filedate)
    {
        return $filedate[1];
    }
$path = realpath('logs');
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file)
    {  
        if (isset($raidref) and $raidref!="")
            {
                $filedate=explode($raidref,$file);
                $filedatestr=getfilename($filedate);
                $filename=$raidref.$filedatestr;
                if ($filedatestr=="")
                    {unset($filename);}  
                if (isset($filename))
                    { echo"$filename<br /><br /><input type='"button'" value='"Download'" onClick='"download('../logs/".$filename."')'"><br /><br />";}
            }    
    }



此代码按原样运行,但我希望能够对找到的文件进行排序,以便最新的文件位于顶部。

代码现在的工作方式是从下拉列表中选择一个raid,然后提交,它将显示文件名和下载按钮,并为找到的每个文件重复这些操作,其中包括文件中raid的名称。

由于文件名中包含日期,如果最新的链接在顶部,人们会更容易获得正确的下载。

我应该如何按降序打印结果

当前显示方式:

dragonsoul07072013.csv
下载

dragonsoul07142013.csv
下载

dragonsoul07212013.csv
下载

我希望它如何显示:

dragonsoul07212013.csv
下载

dragonsoul07142013.csv
下载

dragonsoul07072013.csv
下载

另外,请说明你的答案。我正在从试错和研究中学习php,因为我需要做一些事情,所以你的解释会有很大帮助,这样我将来就可以自己解决这个问题了(实际上我不想寻求帮助,但我甚至不知道如何处理这个问题)。


由于我是这个网站的新手,我在接下来的8个小时内无法回答自己的问题,但我只是想让你们知道你们的回答有帮助。这是我修改后的代码,它似乎在起作用!

<?php
$raidref=$_POST['raid'];
function getfilename($filedate) {return $filedate[1];}
$files=array();
$path = realpath('logs');
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file)
{
if (isset($raidref) and $raidref!="")
    {
        $filedate=explode($raidref,$file);
        $filedatestr=getfilename($filedate);
        $filename=$raidref.$filedatestr;
        if ($filedatestr=="") {unset($filename);}
        if (isset($filename)) {$files[]=$filename;}
    }
}
arsort($files);
foreach ($files as $files)
{
    echo"$files<br /><br /><input type='"button'" value='"Download'" onClick='"download('../logs/".$files."')'"><br /><br />";
}    
?>

将文件放入一个数组中。

使用sort()函数。

循环通过数组。