2012-04-06 160 views
0

我有一個包含子目錄爲圖像的每一張專輯像什麼是讀取文件夾子目錄和這些子目錄中的文件的最佳方法?

  • 圖片
  • 圖片/ Album1
  • 形象PHP文件 我創建了一個鏈接一個圖像文件夾/ Album2

爲每張專輯使用GLOB專輯的縮略圖來讀取圖片下的所有文件夾

$dir=glob('images/*'); 
$dir_listing=array(); 
foreach($dir as $list) 
{ 
if(is_dir($list)) 
$dir_listing[]= (basename($list)); 
} 

$thumbs=glob('images/thumbnails/*'); 
$count=0; 

foreach($thumbs as $th) 
{ 
echo" $dir_listing <br/>"; 
echo"<a href='$dir_listing[$count]' ><img src='$th' /> </a>"; 
    $count++; 
} 

我在每個頁面加載使用Glob來獲取目錄和圖像的列表。

  • 我想知道是否有更好的方法來做到這一點。
  • 我也想得到所有文件和文件夾的基礎上那裏最後修改時間降序{最新文件和文件夾第一}。

正在使用Glob正確還是應該將子目錄和文件保存在文本文件中並從中讀取?

回答

0

我不能肯定地告訴你,如果有更好的方法做到這一點,但你的代碼應該肯定工作。

僅當目錄中的文件數量較少(< 10,000)時,使用glob()纔是正確的方法,因爲如果yoy有很多文件,則可以獲得「允許的XYZ字節內存大小用盡......「錯誤。在這種情況下,最好使用opendir();

if ($handle = opendir($path)) { 
while (false !== ($file = readdir($handle))) { 
    // do something with the file 
    // note that '.' and '..' is returned even 
} 
closedir($handle); 

最後,使用上水珠標誌GLOB_NOSORT(),所以最終的結果是一樣的,以防出現目錄可以用來給您根據最後修改日期結果中列出。

希望這會有所幫助。

相關問題