仅在图像回波上按时间对数组进行排序

Sort array by time only on image echos

我正在尝试仅使用时间对这些回显结果进行排序,但我无法找到一种方法来读取图像何时放置在文件夹中(按特定时间对它们进行排序)。

<?php
  $all_files = glob(DIR_PATH."*.*");
  for ($i=0; $i<count($all_files); $i++)
    {
      $image_name = $all_files[$i];
      $supported_format = array('gif','jpg','jpeg','png');
      $ext = strtolower(pathinfo($image_name, PATHINFO_EXTENSION));
      if (in_array($ext, $supported_format))
          {
            echo '<div class="col" ><img src="/led/images/autoplay/'.str_replace(DIR_PATH,'',$image_name) .' " /><div align="center"><br /><a href="javascript:deleteImg(\''.$image_name.'\')" class="myButton">Delete</a></div><br /></div>';

          } else {
              continue;
          }  
    }

?>

也许使用 usort() 和 filetime() 函数:

$files = glob(DIR_PATH."*.*");
usort( $files, function( $a, $b ) {
    return filemtime($a) - filemtime($b);
} );

foreach ($files as $file) {
    $image_name = $file;
    $supported_format = array('gif','jpg','jpeg','png');
    $ext = strtolower(pathinfo($image_name, PATHINFO_EXTENSION));
    if (in_array($ext, $supported_format))
    {
        echo '<div class="col" ><img src="/led/images/autoplay/'.str_replace(DIR_PATH,'',$image_name) .' " /><div align="center"><br /><a href="javascript:deleteImg(\''.$image_name.'\')" class="myButton">Delete</a></div><br /></div>';

    } else {
        continue;
    }
}