2014-11-15 93 views
1

我想知道如何調用下面的代碼時,數組中的文件(名稱)總是按不同方式排序。 PHP opendir如何對文件進行排序,以及如何在系統中對其進行更改,而不必先將它放入數組中,然後再進行排序?PHP readdir/opendir如何排序

$dh = opendir($dir); 
    do { 
     $files_in_dir[] = $filename; 
    } 
    while (false !== ($filename = readdir($dh))); 
+0

「陣列總是排序不同」 ?? –

+0

另外,爲什麼你引入了一個bug?該手冊有如何使用它的完美例子。 –

+0

@KolyolyHorvath你是什麼意思? – JSHelp

回答

1

作爲一個建議,使用PHPscandir()函數來代替,爲PHP的官方文檔定義它:

SCANDIR - 指定的路徑內列出文件和目錄

而且還支持排序。

默認情況下,排序順序按字母順序升序排列。如果可選sorting_order設置爲SCANDIR_SORT_DESCENDING,那麼排序順序按字母順序降序排列。如果它設置爲SCANDIR_SORT_NONE,那麼結果是未排序的。