2014-05-08 56 views
1

我想拉一個目錄中的所有文件,但它在5個文件名塊。我找不到一個不使用while (($file = readdir($dh)) !== false)循環的示例。我以爲曾經有過類似於這個while(!feof($file))的聲明,但是對於目錄而言,我再也找不到它了。任何幫助表示讚賞。php列表目錄5個文件在一次

這是我最好的嘗試:

$dir = "images"; 
opendir($dir); 

while (($file = readdir($dh)) !== false) 
{ 

for ($x=0; $x<=5; $x++) 
{ 
$file = readdir($dh); 
echo $file . '<br>'; 
} 

} 
closedir($dir); 

感謝,

道格

回答

0

什麼

$dir = "images"; 
opendir($dir); 
$continue=true; 

while ($continue) { 
    for ($x=0; $x<=5; $x++) { 
    $file = readdir($dh); 
    if ($file===false) { 
     $continue=false; //for the while 
     break;   //for the for 
    } 
    echo $file . '<br>'; 
    } 
} 

closedir($dir); 

您可以通過使用while($file!==false)刪除了$continue標誌變量需要但在可讀性方面需要付出代價。

+0

我使用了歐根的設計變化: $ dir =「images/weddings」; $ dh = opendir($ dir)或退出('oops'); $ loopcount = 0; 而(($文件名= READDIR($ DH))!== FALSE){ 如果 (($文件名!= 「 」)和($文件名!=「」)){ $ loopcount = $ loopcount + 1; echo''。 $文件名。 ''; if($ loopcount == 5) { echo''; $ loopcount = 0; } } } closedir($ dir); 我希望我能標記你們兩個是正確的答案。感謝偉大的創意! doug – user3565066