遍历目录的通常方法是获取目录的句柄,然后遍历每个项目,确保文件可读且不是“”。或“ ..”,然后再对文件进行处理。因为这样做很多,所以DirectoryIterator()在PHP5中创建了对象以简化此过程。
DirectoryIterator()对象的构造函数采用单个参数,这是要迭代的目录的路径。
$dir = new DirectoryIterator('/');
要获取当前的工作目录,可以使用PHP函数getcwd()。这将返回运行PHP脚本的目录。
$dir = new DirectoryIterator(getcwd());
上一部分代码将打开服务器的根目录。如果您使用的是Linux服务器,则将看到诸如dev,var,srv等目录,lib,home,root,sbin和usr等目录。
现在创建了对象,可以使用一些不同的功能来查看不同的事物。这是可以使用的一小部分清单:
isDot():此功能用于查看文件是否为“。”。或“ ..”。
isReadable():检查文件是否可读。如果为true,则返回true,否则为false。
next():将迭代器移至列表中的下一项。
valid():此函数检查目录中是否有可以迭代的内容。基本上,如果迭代器位于目录的末尾,则此函数将返回false。
current():返回当前文件的名称。
这些功能可以通过以下方式组合在一起。此代码段将打印出目录中的所有文件。
while($dir->valid()){ if(!$dir->isDot()){ print $dir->current()."<br />"; } $dir->next(); }