2012-12-12 36 views
-2

根本不熟悉PHP。我使用了另一個網站(我沒寫過)的舊代碼爲客戶創建一個CMS。問題是,這裏的目錄結果不會按字母順序返回。我讀過scandir會這樣做,而readdir不會。我也知道一個數組或任何數量的排序函數也可以工作......我只是不知道該怎麼做:)任何幫助將不勝感激。如何使用scandir(或其他方法)按字母順序對目錄結果進行排序?

<select name="image1[<?print($i);?>]"> 
<option value="none.gif">no photo available</option> 
<? 
$handle = opendir($art_image); 
while ($file = readdir($handle)) { 
    if ($file !="." && $file !="..") { 
     option($file,$row["image1"]); 
    } 
} 
?> 
</select> 
+4

你檢查的'scandir'手動排序?幾乎可以解釋這一切。 – jeroen

+0

不是。正如我所說的,「根本不熟練使用PHP」。因此,我不寫PHP或理解它的語法。這就是我在這裏的原因。 – user1898972

+0

@ user1898972,這個問題解決了嗎? –

回答

0
while ($file = scandir($art_image)) { 
... 

這應該爲你做它。 scandir無需處理。

1
<select name="image1[<?print($i);?>]"> 
<option value="none.gif">no photo available</option> 
<? 

while ($item = scandir($art_image, SCANDIR_SORT_DESCENDING)) 
{ 
    if ('.' !== $item[0]) // skip . .. and hidden files all in one swoop 
    { 
     option($item, $row['image1']); 
    } 
} 

?> 
</select> 
0

您可以簡單地使用scandir然後陣列()與sort()

+0

歡迎來到SO!請注意,習慣於在提供答案時留下示例代碼,以備將來參考,因爲許多用戶標記/減少了簡短答案,所以試圖提供更完整的答案。 –

相關問題