Php 按日期对文件列表排序

Php 按日期对文件列表排序,php,wordpress,Php,Wordpress,使用下面的代码,我将生成一个位于服务器目录中的PDF列表。我想把结果按日期排序,最新的最早的最晚的 这就是它的作用: 您可以使用PHP函数和如下自定义排序函数: <?php $sub = ($_GET['dir']); $path = 'groundfish-meetings/'; $path = $path . "$sub"; $file_list = glob($path."*.pdf"); function sort_by_mtime($file1,$file2) { $time

使用下面的代码,我将生成一个位于服务器目录中的PDF列表。我想把结果按日期排序,最新的最早的最晚的

这就是它的作用:

您可以使用PHP函数和如下自定义排序函数:

<?php
$sub = ($_GET['dir']); 
$path = 'groundfish-meetings/';
$path = $path . "$sub";
$file_list = glob($path."*.pdf");

function sort_by_mtime($file1,$file2) {
$time1 = filemtime($file1);
$time2 = filemtime($file2);
if ($time1 == $time2) {
    return 0;
}
return ($time1 < $time2) ? 1 : -1;
}
usort($file_list ,"sort_by_mtime");
$i = 1;
foreach($file_list as $file)
{
  echo "$i. <option value='" . home_url('/groundfish-meetings/' . $file) .            
"'>$file</option>";
  $i++;
}

这将把path/to/files中的所有文件作为一个数组,然后根据文件的mtime对该数组进行排序

$files = glob('path/to/files/*.*');
usort($files, function($a, $b) {
    return filemtime($a) < filemtime($b);
});
$files=glob('path/to/files/*.');
usort($files,function($a,$b){
返回filemtime($a)
好的,我让它工作了,但目录在选项文本中列出。有办法把它去掉吗?是的。用法:echo“$i.”str_replace(dirname($file)。“/”,“$file)。”;我最终不得不编辑回音线来生成正确的链接url,但你让我做到了!echo“$i.”str_replace(dirname($file)。“/”,“$file)。”;再想一想,我该如何从显示标题中删除.pdf。在上述行中将
$file
替换为
str_Replace('.pdf','$file)
$files = glob('path/to/files/*.*');
usort($files, function($a, $b) {
    return filemtime($a) < filemtime($b);
});