解析PHP SPL標(biāo)準(zhǔn)庫(kù)的用法(遍歷目錄,查找固定條件的文件)
更新時(shí)間:2013年06月18日 15:59:01 作者:
本篇文章是對(duì)PHP中SPL標(biāo)準(zhǔn)庫(kù)的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
<?php
class RecursiveFileFilterIterator extends FilterIterator {
// 滿足條件的擴(kuò)展名
protected $ext = array('jpg','gif');
/**
* 提供 $path 并生成對(duì)應(yīng)的目錄迭代器
*/
public function __construct($path) {
parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
}
/**
* 檢查文件擴(kuò)展名是否滿足條件
*/
public function accept() {
$item = $this->getInnerIterator();
if ($item->isFile() &&
in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) {
return TRUE;
}
}
}
// 實(shí)例化
foreach (new RecursiveFileFilterIterator('D:/history') as $item) {
echo $item . PHP_EOL;
}
class RecursiveFileFilterIterator extends FilterIterator {
// 滿足條件的擴(kuò)展名
protected $ext = array('jpg','gif');
/**
* 提供 $path 并生成對(duì)應(yīng)的目錄迭代器
*/
public function __construct($path) {
parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
}
/**
* 檢查文件擴(kuò)展名是否滿足條件
*/
public function accept() {
$item = $this->getInnerIterator();
if ($item->isFile() &&
in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) {
return TRUE;
}
}
}
// 實(shí)例化
foreach (new RecursiveFileFilterIterator('D:/history') as $item) {
echo $item . PHP_EOL;
}
您可能感興趣的文章:
- PHP SPL標(biāo)準(zhǔn)庫(kù)之文件操作(SplFileInfo和SplFileObject)實(shí)例
- PHP SPL標(biāo)準(zhǔn)庫(kù)之?dāng)?shù)據(jù)結(jié)構(gòu)棧(SplStack)介紹
- PHP SPL標(biāo)準(zhǔn)庫(kù)之?dāng)?shù)據(jù)結(jié)構(gòu)堆(SplHeap)簡(jiǎn)單使用實(shí)例
- PHP SPL標(biāo)準(zhǔn)庫(kù)之SplFixedArray使用實(shí)例
- PHP標(biāo)準(zhǔn)庫(kù)(PHP SPL)詳解
- PHP SPL標(biāo)準(zhǔn)庫(kù)中的常用函數(shù)介紹
- PHP SPL標(biāo)準(zhǔn)庫(kù)之接口(Interface)詳解
- PHP使用標(biāo)準(zhǔn)庫(kù)spl實(shí)現(xiàn)的觀察者模式示例
- PHP標(biāo)準(zhǔn)庫(kù) (SPL)——Countable用法示例
相關(guān)文章
PHP反射類ReflectionClass和ReflectionObject的使用方法
PHP反射類ReflectionClass和ReflectionObject2013-11-11php將字符串轉(zhuǎn)化成date存入數(shù)據(jù)庫(kù)的兩種方式
這篇文章主要介紹了php將字符串轉(zhuǎn)化成date存入數(shù)據(jù)庫(kù)的兩種方式,需要的朋友可以參考下2014-04-04php實(shí)現(xiàn)最簡(jiǎn)單的MVC框架實(shí)例教程
這篇文章主要介紹了php實(shí)現(xiàn)最簡(jiǎn)單的MVC框架實(shí)例教程,講述了MVC框架的運(yùn)行原理及簡(jiǎn)單實(shí)現(xiàn)方法,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下2014-09-09PHP、Nginx、Apache中禁止網(wǎng)頁(yè)被iframe引用的方法
這篇文章主要介紹了PHP、Nginx、Apache中禁止網(wǎng)頁(yè)被iframe引用的方法,使用X-Frame-Options實(shí)現(xiàn),需要的朋友可以參考下2014-06-06phpMyAdmin 鏈接表的附加功能尚未激活的問(wèn)題
安裝了phpMyAdmin之后一直有這個(gè)問(wèn)題。雖然知道自己可能用不到這些功能,但是不解決這個(gè)問(wèn)題總覺著phpMyAdmin和MySQL的安裝沒有成功。2010-08-08適用于php-5.2?的?php.ini?中文版[金步國(guó)翻譯]
最近服務(wù)器基本上都是使用了php?5.2.*,以前發(fā)布的版本的php.ini已經(jīng)不適用于現(xiàn)在的版本了,特發(fā)現(xiàn)了這篇文章特分享給大家。2011-04-04PHP持久連接mysql_pconnect()函數(shù)使用介紹
mysql_pconnect()函數(shù)可以大大的提高M(jìn)YSQL效率,不過(guò),此連接不自動(dòng)關(guān)閉,也會(huì)造成一些問(wèn)題,請(qǐng)注意將不用的連接即時(shí)關(guān)閉,以避免不必要的錯(cuò)誤發(fā)生2012-02-02