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