-1

好的,我有这段代码并且运行良好,但我需要图像的顺序在图像创建日期之前,有人可以帮我吗?

$images=array();
$dir = @opendir('.') or die("Unable to open $path");
$i=0;
while($file = readdir($dir)) {
    if(is_dir($file))
        continue;
    else if($file != '.' && $file != '..' && $file != 'index.php') {
        $images[$i]=$file;
        $i++;
    }
}
sort($images);
for($i=0; $i<sizeof($images); $i++) {
    echo "<a href=".chr(34).$path.$images[$i].chr(34)."><img style='border:1px solid #666666; width:200px; margin: 10px;' src='".$images[$i]."'/></a>";
}
closedir($dir);
4

2 回答 2

0

只需使用文件的时间戳作为索引,然后按键对数组进行排序。

此外,迭代目录中文件列表的正确方法是DirectoryIterator

$dir = new DirectoryIterator('.');
$images = array();

foreach ($dir as $file) {
    if ($file->isFile()) {
        $images[$file->getMTime()] = $file->getFilename();
    }
}

ksort($images);
于 2013-01-31T03:04:49.253 回答
0

您对 $images 的索引是一个整数索引 - 为什么不将其设为时间戳?

于 2013-01-31T02:52:16.643 回答