子目录寻找文件的简单方法 - DirectoryRecursiveIterator(目录递归迭代) - SPL - 马永占 译...

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan

原文地址:http://blog.makemepulse.com/2008/02/18/tips-easy-way-to-find-a-file-in-subdirectory-with-php/

在一个非常多目录结构的情况下寻找一个文件,如下 :


我们要include进来file_to_find.php,这个文件需要递归的来寻找 :
include(dirname(__FILE__)."/class.directorysearch.php");

directory = dirname(__FILE__)."/directory";

$search_directory = new DirectorySearch($directory);
path_file = $search_directory->find("file_to_find.php");

if($path_file !== false){
include_once($path_file);
}
看一下class.directorysearch.php :
class DirectorySearch {

private
$iterator,
$directoryname;
public function __construct($directoryname){
$this->iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directoryname,RecursiveDirectoryIterator::KEY_AS_FILENAME));
}

public function find($filename){
foreach($this->iterator as $entry){
if($filename == $this->iterator->current()){
return $this->iterator->getPathName();
}
}
return false;
}
如果我们不在recursiveDirectoryIterator 中使用KEY_AS_FILENAME,我们将在$this->iterator->current()搜索整个目录;
这是一个关于RecursiveIteratorIterator使用RecursiveDirectoryIterator简单的例子
SPL 是非常强大的工具.!!!

Tips : Easy way to find a file in subdirectory with php - Antoine Ughetto
原文地址:http://blog.makemepulse.com/2008/02/18/tips-easy-way-to-find-a-file-in-subdirectory-with-php/
mayongzhan 译
2008-02-18 23:40:14
[查看中文翻译]
I’ve made a previus post on SPL using RecursiveIterator to parse Array. Today we will use this same RecursiveIterator with a DirectoryRecursiveIterator.
We have a directory with a lot of subdirectory like this and we want to find this file :

(more…)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值