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

网络编程 2021-07-05 09:49www.168986.cn编程入门
本篇文章是对PHP中SPL标准库的用法进行了详细的分析介绍,需要的朋友参考下
<?php
 class RecursiveFileFilterIterator extends FilterIterator {
     // 满足条件的扩展名
     protected $ext = array('jpg','gif');

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

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

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by