有很多方法。较旧的方法是
scandir但
DirectoryIterator可能是最好的方法。
还有
readdir(与一起使用
opendir)和
glob。
以下是一些有关如何使用每个示例打印当前目录中所有文件的示例:
DirectoryIterator
用法:(推荐)
foreach (new DirectoryIterator('.') as $file) { if($file->isDot()) continue; print $file->getFilename() . '<br>';}scandir
用法:
$files = scandir('.');foreach($files as $file) { if($file == '.' || $file == '..') continue; print $file . '<br>';}opendir
和readdir
用法:
if ($handle = opendir('.')) { while (false !== ($file = readdir($handle))) { if($file == '.' || $file == '..') continue; print $file . '<br>'; } closedir($handle);}glob
用法:
foreach (glob("*") as $file) { if($file == '.' || $file == '..') continue; print $file . '<br>';}如评论中所述,这
glob是很好的,因为我在那里使用的星号实际上可以用于对文件进行匹配,因此
glob('*.txt')可以获取文件夹中的所有文本文件,并glob('image_*')获取以image_开头的所有文件。


