0

从问题是否有一种简单的方法可以读取目录中的文件名并添加到数组中?,我有不同的文件存储在一个目录中。现在我想获取 .jpg 文件并将其放入一个数组中,以便我可以根据时间对数组进行排序并显示图像。我想获取具有类似文件名的 jpeg 文件

(日期在这里)-img_gen.jpg。IE。20131027123001-img-gen.jpg 20131030123102-img-gen.jpg

我怎样才能在 PHP 中做到这一点?谁能帮助我正确的分步代码来做到这一点?

我有这个代码,但它不适合我。

$ignore = array("..",".");
$dir = opendir("/home3/site/public_html/Master/uploader/uploader/");
$images = array();
$sortedimages = array();

//List files in images directory
while (($file = readdir($dir)) !== false)
    if (!in_array($file, $ignore))
        $images[] = $file;

foreach ($images as $image) {
    $filetime = filemtime("uploader/$image");
    $sortedimages[] = $filetime;
}

krsort($sortedimages);

foreach ($sortedimages as $sorted) {
    echo "$sorted<br/>";
}

closedir($dir);

它只是给我网关超时。所以我认为我真的需要一些比这更好的工作代码

请随时编辑我的代码或给我一些代码。提前致谢 :)

4

1 回答 1

1

使用glob()usort()

$dir = './';
$files = glob($dir . '*.jpg');

usort($files, function ($file1, $file2) use ($dir) {
  $f1 = filemtime($dir . $file1);
  $f2 = filemtime($dir . $file2);

  if ($f1 == $f2) {
    return 0;
  }
  return ($f1 < $f2) ? -1 : 1;
});
于 2013-10-27T12:26:12.773 回答