`
txf2004
  • 浏览: 6854145 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

子目录寻找文件的简单方法 - 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…)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics