PHP SPL标准库遍历目录、查找固定条件文件的例子

发布时间:2020-06-07编辑:脚本学堂
分享一例php代码,使用php中的SPL标准库,进行遍历目录与查找固定条件的文件,感兴趣的朋友参考下。

本节内容:
PHP SPL标准库遍历目录

例子:
 

复制代码 代码示例:

<?php
/**
* PHP SPL标准库应用举例 遍历目录
*/
 class RecursiveFileFilterIterator extends FilterIterator {
     // 满足条件的扩展名 // www.jb200.com
     protected $ext = array('jpg','gif');

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

     /**
      * 检查文件扩展名是否满足条件
      */
     public function accept() {
         $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;
 }