我需要帮助才能让它发挥作用。我正在使用此代码列出文件夹中的所有 json 文件并对其进行分页,这很有效。
<?php
$all_files = [];
$dir = new DirectoryIterator(dirname(__FILE__) . DIRECTORY_SEPARATOR . constant('POSTS_DIR'));
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile() && in_array($fileinfo->getExtension(), array('json'))) {
array_push($all_files, realpath(constant('POSTS_DIR')) . '/' . $fileinfo->getBasename());
}
}
?>
但是我怎样才能实现 sort by getMTime()
andkrsort()
呢?我首先想要最后修改的文件。
将 mtime 值存储在单独的数组中,然后使用usort
.
在循环之前,添加:
$mtimes = [];
在循环中:
$all_files[] = $file = realpath(constant('POSTS_DIR')) . '/' . $fileinfo->getBasename());
$mtimes[$file] = $fileinfo->getMTime();
然后,在循环之后:
usort($all_files, function ($a, $b) use ($mtimes) {
return $mtimes[$b] <=> $mtimes[$a];
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句