2017-07-23 202 views
1

我想從沒有任何數據庫的目錄讀取html文件名。我有一個代碼,它的工作正常,但它給出了兩個空白名稱,而我在目錄中只有4個文件。從目錄中讀取文件名

<?php 
if (is_dir('dir')) { 
if ($dh = opendir('dir')) { 
    while (($file = readdir($dh)) !== false) { 
     echo "filename:".$file."<br />"; 
    } 
} 
}?> 

我有4個HTML文件和輸出應該是:

filename:aaaaaa kjnnk_13.html 
filename:aaaaaa kjnnk_2.html 
filename:aaaaaa kjnnk_6.html 
filename:aaaaaa kjnnk_9.html 

但我發現2個額外的文件名:

filename:. 
filename:.. 
filename:aaaaaa kjnnk_13.html 
filename:aaaaaa kjnnk_2.html 
filename:aaaaaa kjnnk_6.html 
filename:aaaaaa kjnnk_9.html 

請幫

+1

'if($ file!='。'&& $ file!='..')' –

+0

hank you for reply ...但是在哪裏添加條件? – user3526766

+0

也許在'echo'之前? –

回答

4

。是目前目錄 ..是爲一個目錄上

當使用readdir你會得到那2額外的。

我更喜歡使用glob()。該功能允許您篩選的HTML文件僅過

<?php 
    $files = glob('dir/*html'); 
    foreach($files as $file) { 
     echo "filename:".$file."<br />"; 
    } 
?> 
+0

但是,如果它將是PHP文件,那麼將是$ files = glob('dir/* php') – user3526766

+0

正確,並且如果您只需要所有文件:dir/* –