我正在寻找一个循环遍历目录中所有文件的PHP脚本,因此我可以使用文件名进行操作,例如格式化,打印或将其添加到链接中.我希望能够按名称,类型或创建/添加/修改日期对文件进行排序.(想想花哨的目录"索引".)我还希望能够在文件列表中添加排除项,例如脚本本身或其他"系统"文件.(就像.和.."目录"一样.)
由于我希望能够修改脚本,我更感兴趣的是查看PHP文档并学习如何自己编写.也就是说,如果有任何现有的脚本,教程和诸如此类的东西,请告诉我.
我有一个图片目录,我想循环并做一些文件计算.它可能只是缺乏睡眠,但我如何使用PHP查看给定目录,并使用某种for循环遍历每个文件?
谢谢!
PHP 5引入了DirectoryIterator,而PHP 5.3引入了FileSystemIterator.
FileSystemIterator扩展DirectoryIterator,但文档没有说明它带来了什么额外的功能.
你能告诉之间的区别DirectoryIterator和FileSystemIterator?
我还没有找到一个很好的例子,说明如何使用php RegexIterator递归遍历目录.
最终的结果是我想指定一个目录并查找其中包含一些给定扩展名的所有文件.比如说只有html/php扩展名.此外,我想过滤掉.Trash-0,.Trash-500等类型的文件夹.
<?php
$Directory = new RecursiveDirectoryIterator("/var/www/dev/");
$It = new RecursiveIteratorIterator($Directory);
$Regex = new RegexIterator($It,'/^.+\.php$/i',RecursiveRegexIterator::GET_MATCH);
foreach($Regex as $v){
echo $value."<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)
到目前为止我得到的结果是:致命错误:带有消息'RecursiveDirectoryIterator :: __ construct(/media/hdmovies1/.Trash-0)的未捕获异常'UnexpectedValueException'
有什么建议?
可能重复:
获取目录中的文件
PHP:scandir()太慢了
我有一个包含数万个文件的目录,我想在页面上显示这些文件的列表.我尝试用scandir做它,它需要永远.实现这一目标的有效方法是什么?