我有一个名为“logs”的子目录,用于存储文件以供下载。我正在尝试创建一个动态下载页面。
有 5 个团队被引用(dragonsoul、firelands、tier11、tier14 和 ulduar)和 log 文件夹中的文件,并以 ex 格式命名。dragonsoul07072013.csv(名称的结尾是日期)。
下载页面:
我有一个表单,其中包含每个提交给自身的突袭的选择列表。
<?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 />";
}
?>