首页  >  文章  >  后端开发  >  解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)_php技巧

解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)_php技巧

WBOY
WBOY原创
2016-05-17 09:00:31984浏览

 class RecursiveFileFilterIterator extends FilterIterator {
     // 满足条件的扩展名
     protected $ext = array('jpg','gif');

     /**
      * 提供 $path 并生成对应的目录迭代器
     */
     public function __construct($path) {
        parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
     }

     /**
      * 检查文件扩展名是否满足条件
     */
     public function receive() {
         $item = $this->getInnerIterator();
         if ($item->isFile() && 
                 in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) {
             return TRUE;
         }
     }
 }

 //实例化
 foreach (new RecursiveFileFilterIterator('D:/history') as $item) {
     echo $item . PHP_EOL;
 }

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn