版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。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…)