2016-01-13 63 views
0

所以。我試圖做一個簡單的PHP程序來讀取目錄的內容。我一直在努力工作W3Schools。除了一個小問題外,它一直運行良好。PHP - 讀取目錄的內容

當這個腳本運行時,它會發布兩個不存在的附加文件,即使這個目錄完全是空的。

<?php 
$dir = "./userphotos/"; 

// Open a directory, and read its contents 
if (is_dir($dir)){ 
    if ($dh = opendir($dir)){ 
    while (($file = readdir($dh)) !== false){ 
print <<< HERE 

    <p>Filename: $file</p> 

HERE; 
    } 
    closedir($dh); 
    } 
} 

?> 

有什麼想法?

+1

可能重複[PHP列出目錄中的所有文件](http://stackoverflow.com/questions/3826963/php-list-all-files-in-directory) –

+4

是文件。和..? – MajorCaiger

+0

@MajorCaiger是的。 – SuradMister

回答

0

在Unix機器上,每個目錄包含2個隱藏文件。

...這些是對當前目錄和父目錄的引用。

你應該看看DirectoryInterator

$dir = "./userphotos/"; 

foreach (new DirectoryIterator($dir) as $fileInfo) { 
    if($fileInfo->isDot() === false) { 
     echo $fileInfo->getFilename() . "<br>\n"; 
    } 
} 

這個例子忽略了「點」文件

此外,您還可以看看RecursiveDirectoryIterator遞歸地做到這一點。