使用简单的外观干扰所有我从dir获取文件名
if ($handle = opendir('news_items/')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
}
}
}
文件正在输出新闻,最早,最早。
如何解决这个问题,以便最新的文件首先出现?
答案 0 :(得分:4)
将文件列表导入数组,然后将array_reverse()获取:)
答案 1 :(得分:1)
最简单的选择是调用shell命令
$files = explode("\n", `ls -1t`);
如果出于某种原因,这不起作用,请尝试使用glob()+ sort()
$files = glob("*");
usort($files, create_function('$a, $b', 'return filemtime($b) - filemtime($a);'));
答案 2 :(得分:0)
将数组whit mtime中的每个文件作为键推送,允许您反向排序该数组:
<?php
$files = array();
if ($handle = opendir('news_items/')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$mtime = filemtime('news_items/' . $file);
if (!is_array($files[$mtime])) {
$files[$mtime] = array();
}
array_push($files[$mtime], $file);
}
}
}
krsort($files);
foreach ($files as $mt=>$fi) {
sort($fi);
echo date ("F d Y H:i:s.", $mt) . " : " . implode($fi, ', ') . "\n";
}
?>