php - 如何将多个数组合并为一个数组并按日期对所有数组的文件进行排序?
问题描述
我有一个函数可以在子文件夹中查找文件并按文件夹的顺序列出它们。如何将所有文件合并到一个数组中并按文件创建日期对它们进行排序?
许多子文件夹位于“post”文件夹中。许多文件位于子文件夹中。
/posts
/subfolder 1
file 1 (created 01/01/19)
file 3 (created 03/03/19)
/subfolder 2
file 2 (created 02/02/19)
file 4 (created 04/04/19)
...
GetPostList 函数在一个子文件夹中创建一组文件并输出它们(从文件中设置变量)。
function GetPostList($dir) {
$postlist = '';
$postmarkup = '';
$path = dirname(__FILE__) . '/posts/' . $dir;
$pages = array();
$handle = opendir($path);
if ($handle != false)
{
while (($file = readdir($handle)) !== false)
{
if (is_file($path . $file))
{
$i = filemtime($path . $file) . ',' . $file;
$pages[$i] = $file;
}
}
closedir($handle);
}
krsort($pages);
foreach ($pages as $i => $page)
{
$title = GetContent($page, 'title', $dir);
$date = GetContent($page, 'date', $dir);
$caterory = GetContent($page, 'category', $dir);
$fileaddon = strpos($page, ".");
$filename = substr($page, 0, $fileaddon);
$posturl = $dir.$filename;
$postmarkup .= '
<p>
<a href="'.$posturl.'" title="'.$title.'">
'.$title.'<br>
<span>'.$caterory.'</span> | <span>'.$date.'</span>
</a>
</p>
';
}
if (empty($pages))
$postlist .= '<p>Empty!</p>';
$postlist .= $postmarkup;
return $postlist;
}
GetAllPost 函数在所有子文件夹中创建了一个文件数组,但输出分开(从第一个子文件夹,然后从第二个子文件夹......):
function GetAllPost()
{
$path = dirname(__FILE__) . '/posts/';
$readdirectory = dir($path);
while(false !== ($dir = $readdirectory->read()))
{
if($dir != "." && $dir != "..")
{
$subpages = GetPostList($dir.'/');
echo $subpages;
}
}
}
输出:
file 1 (created 01/01/19)
file 3 (created 03/03/19)
file 2 (created 02/02/19)
file 4 (created 04/04/19)
...
如何按创建日期合并和排序?
file 1 (created 01/01/19)
file 2 (created 02/02/19)
file 3 (created 03/03/19)
file 4 (created 04/04/19)
...
解决方案
推荐阅读
- java - 403 error while sending a POST request using Karate in eclipse
- android - Resize whole app depending on device resolution
- html - 隐藏搜索输入选项的值
- c# - 是否可以在不登录的情况下发送邮件?
- python - 加速numpy小功能
- python - 尝试使用熊猫导入 excel csv (?!) 文件
- database - 对于这种时间序列数据,我应该使用哪个数据库?
- javascript - 你可以选择一个 jquery 移动切换并设置 cookie 吗?
- apache-kafka - debezium:java.sql.SQLException:找不到合适的驱动程序:jdbc:oracle:oci:@orclnode:1527/mydb
- jquery - Ajax 不发送标头形式的 GET 请求