如何使PHP以与readdir相反的顺序显示文件?
我用它来返回图像,以它们被添加到目录中的顺序,但是我希望它们从最新到旧排序。我怎么做?谢谢如何使PHP以与readdir相反的顺序显示文件?,php,Php,我用它来返回图像,以它们被添加到目录中的顺序,但是我希望它们从最新到旧排序。我怎么做?谢谢 <? $handle = @opendir("images"); if(!empty($handle)) { while(false !== ($file = readdir($handle))) { if(is_file("images/" . $file)) echo '<img src="images/' . $file . '"><br>&l
<?
$handle = @opendir("images");
if(!empty($handle)) {
while(false !== ($file = readdir($handle))) {
if(is_file("images/" . $file))
echo '<img src="images/' . $file . '"><br><br>';
}
}
closedir($handle);
?>
我认为最简单的方法是将文件读入数组,将其反转并输出反转的数组:
<?php
$handle = @opendir("images");
if(!empty($handle))
{
$files = array();
while(false !== ($file = readdir($handle)))
{
if(is_file("images/" . $file))
$files[] = $file;
}
foreach(array_reverse($files) as $file) {
echo '<img src="images/' . $file . '"><br><br>';
}
}
closedir($handle);
?>
像这样:
<?
$handle = @opendir("images");
$files = array();
if(!empty($handle)) {
while(false !== ($file = readdir($handle))) {
if(is_file("images/" . $file))
$files[] = $file;
}
}
closedir($handle);
// flip the array over
$files = array_reverse($files);
// display on screen
foreach ($files as $file)
echo '<img src="images/' . $file . '"><br><br>';
?>
如果您希望从最新版本到较旧版本进行订购,则不能仅依赖readdir。这个顺序可能是任意的。您需要按时间戳对它们进行排序:
$files = glob("images/*"); // or opendir+readdir loop
$files = array_combine($files, array_map("filemtime", $files));
arsort($files); // sorts by time
$files = array_keys($files); // just leave filenames