2013-05-02 55 views
0

對不起,接下來的漫長的帖子...PHP訂單文件夾和文件目錄中的自定義爲了

...我已經尋找了幾天現在如何做到這一點,我似乎無法繞到我的頭如何做到這一點。 我有一個包含12個文件夾的目錄,一年的每月一個(1月,2月等...)

在每個文件夾中,我有一定數量的圖像文件,桌面背景。每個文件都根據它所屬的月份,它所在月份的年份,是否有日曆以及它的分辨率大小來命名。 例如,Jan文件夾將具有命名約定的文件: January2013_nocal_2560x1440; January2012_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年再次循環遍歷所有文件夾,依此類推。

我已經研究scandirblobexplode和其他資源,以讀/列出每個文件夾和文件,但無法弄清楚如何排序的一切,我怎麼想它。

有關如何做到這一點的任何意見將不勝感激。編輯: 我一直在尋找無效的過去幾天。我很欣賞迄今爲止收到的所有答覆,但他們似乎都沒有真正做我想做的事情。 這是我迄今爲止的基本代碼,它拉出了我想要排序和循環的所有文件夾/文件。

$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 />"; 
      } 
     } 
    } 
} 
} 

我只是不確定該從哪裏出發。

+0

在這個網站上,你需要給某種最初的努力來發布的你正在嘗試做什麼的代碼示例。然後人們可以識別並幫助糾正你的錯誤。請發佈你的初始php代碼,即使只是一個簡單的循環 – Zak 2013-05-02 18:14:17

+0

排序功能後,你得到的文件夾名稱http://stackoverflow.com/questions/12424968/php-re-order-array-of-month-names – Fabi 2013-05-02 18:34:34

+0

有你已經看到了? http://stackoverflow.com/questions/884974/sort-and-display-directory-list-alphabetically-using-opendir-in-php – reikyoushin 2013-05-02 20:14:13

回答

1

你可以列出你想要的目錄和 然後將文件你可以只使用usort

相關問題