很抱歉接下来的冗长帖子......
我已经搜索了几天如何做到这一点,但我似乎无法解决如何完成这个问题。我有一个目录,里面有十二个文件夹,一年中的每个月都有一个(一月,二月等......)
在每个文件夹中,我都有一定数量的图像文件,桌面背景。每个文件都根据它所属的月份、月份的年份、是否有日历以及分辨率大小来命名。例如,Jan 文件夹将包含具有命名约定的文件:January2013_nocal_2560x1440;2012 年 1 月_nocal_2560x1440;ETC...
对于当前月份,例如 5 月,还会有名为:May2013_calendar_2560x1440 的文件;May2013_calendar_1920x1200;ETC...
我想做的是创建一个文件夹列表,按照一年中每个月的顺序,从当前月份开始并及时向后工作。在每个月下,我想列出该文件夹中正确年份的文件。
这是我想要的输出。当月:
<a class="menuitem" href="">May 2013</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="May/May2013_nocal_2560x1440.jpg">2560 x 1440</a></li>
<li><a href="May/May2013_nocal_1920x1200.jpg">1920 x 1200</a></li>
etc...
</ul>
<ul class="list2" style="float:right">With Calendar:
<li><a href="May/May2013_calendar_2560x1440.jpg">2560 x 1440</a></li>
<li><a href="May/May2013_calendar_1920x1200.jpg">1920 x 1200</a></li>
etc...
</ul>
对于接下来的每个月:
<a class="menuitem" href="">April 2013</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="April/April2013_nocal_2560x1440.jpg">2560 x 1440</a></li>
etc...
</ul>
<a class="menuitem" href="">March 2013</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="March/March2013_nocal_2560x1440.jpg">2560 x 1440</a></li>
etc...
</ul>
<a class="menuitem" href="">February 2013</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="February/February2013_nocal_2560x1440.jpg">2560 x 1440</a></li>
etc...
</ul>
<a class="menuitem" href="">January 2013</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="January/January2013_nocal_2560x1440.jpg">2560 x 1440</a></li>
etc...
</ul>
<a class="menuitem" href="">December 2012</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="December/December2012_nocal_2560x1440.jpg">2560 x 1440</a></li>
etc...
</ul>
<a class="menuitem" href="">November 2012</a>
<ul class="list2" style="float:left">Without Calendar:
<li><a href="November/November2012_nocal_2560x1440.jpg">2560 x 1440</a></li>
etc...
</ul>
etc...
我希望它按日历顺序遍历每个文件夹,并在 2013 年回显文件夹中的每个文件,然后在 2012 年再次遍历所有文件夹,依此类推。
我已经研究了scandir
、blob
和explode
其他资源来读取/列出每个文件夹和文件,但无法弄清楚如何按我想要的方式订购所有东西。
任何有关如何做到这一点的建议将不胜感激。
编辑:过去几天我一直在寻找无济于事。我很感激我到目前为止收到的所有回复,但他们似乎都没有真正做我想做的事情。到目前为止,这是我的基本代码,它提取了我想要排序和循环的所有文件夹/文件。
$root = $_SERVER['DOCUMENT_ROOT']."/wallpapers/";
$folders = scandir($root);
foreach ($folders as $folder) {
if(is_dir($root . "/" . $folder) && $folder != "." && $folder != ".." && $folder != "images") {
$months = array($folder);
foreach ($months as &$month) {
$files = scandir($root . $month);
foreach ($files as $file) {
if(is_file($root . $month . "/" . $file)) {
echo $month . "/" . $file . "<br />";
}
}
}
}
}
我只是不确定从这里去哪里。