您好我怀疑我很傻,但我是PHP编码的新手。我想要做的就是从下面的这个脚本中按降序排序我的结果,但我不知道要添加什么代码以及添加它的位置。请你帮帮我。
<?php
$d = dir("01-Newsletters");
while (false != ($entry = $d->read())) {
if ($entry != "." && $entry != "..") {
echo "<tr><td>{$entry}</td><td><a href='01-Newsletters/{$entry}' target=_blank><img src='../../Site_data/Images/more.gif'/></a></td></tr>";}
}
$d->close();
?>
目前正在提供此结果
Previous Newsletters 2014-04-Newsletter.pdf
2014-07-Newsletter.pdf
2014-10-Newsletter.pdf
2015-01-Newsletter.pdf
2015-04-Newsletter.pdf
2015-08-Newsletter.pdf
答案 0 :(得分:0)
您可以使用以下解决方案:
<?php
$d = dir("01-Newsletters");
$entries = [];
while (false != ($entry = $d->read())) {
if ($entry != "." && $entry != "..") {
$entries[] = $entry;
}
}
$d->close();
//order the entries...
sort($entries, SORT_STRING);
$entries = array_reverse($entries);
//output the $entries in DESC order...
for ($i = 0; $i < count($entries); $i++) {
echo "<tr><td>{$entries[$i]}</td><td><a href='01-Newsletters/{$entries[$i]}' target=_blank><img src='../../Site_data/Images/more.gif'/></a></td></tr>";
}
?>
答案 1 :(得分:0)
如果文件夹名称是2015-8我假设它是在该特定日期创建的。在此假设的基础上,您可以使用以下方法。获取文件修改时间将其存储在一个数组中,然后对该数组进行排序
$dir = "jays";
$d = dir($dir);
while (false != ($entry = $d->read()))
{
if ($entry != "." && $entry != "..")
{
$files[$entry] = filemtime( $dir.'/' . $entry);
}
}
arsort($files);
print_r($files);
$d->close();