PHP遍历文件夹下所有文件,几种方式glob与opendir,RecursiveDirectoryIterator
2015-03-31 00:00
645 查看
glob方式: glob() 函数返回匹配指定模式的文件名或目录。 该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。
$dir="D:\\wamp\\www\\test"; function search($dir){ $files=array(); foreach (glob("{$dir}\\*") as $key => $file){ if(is_dir($file)){ $files=array_merge($files,search($file)); }else{ $files[]=$file; } } return $files; }opendir,readdir方式: opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。 若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。 readdir() 函数返回由 opendir() 打开的目录句柄中的条目。 若成功,则该函数返回一个文件名,否则返回 false。
$dir="D:\\wamp\\www\\test"; function readir($dir){ $files=array(); if ($dh = opendir($dir)){ while(($file = readdir($dh)) !== false){ if($file=='.'||$file=='..') continue; $filedir=$dir.'\\'.$file; if (is_dir($filedir)){ $files=array_merge($files,readir($filedir)); }else{ $files[]=$filedir; } } closedir($dh); } return $files; }使用RecursiveDirectoryIterator遍历文件夹,列出所有文件路径
$dir="D:\\wamp\\www\\test"; function get_files($dir) { $files = array(); for (; $dir->valid(); $dir->next()) { if ($dir->isDir() && !$dir->isDot()) { if ($dir->haschildren()) { $files = array_merge($files, get_files($dir->getChildren())); }; }else if($dir->isFile()){ $files[] = $dir->getPathName(); } } return $files; } $dirIterator= new RecursiveDirectoryIterator($dir); var_dump(get_files($dirIterator));
相关文章推荐
- 递归方式遍历文件夹下的所有文件及子文件夹 [php]
- PHP使用glob方法遍历文件夹下所有文件
- PHP使用glob方法遍历文件夹下所有文件的实例
- php遍历一个文件夹下的所有文件和子文件
- PHP遍历一个文件夹下的所有文件及创建文件夹
- php写一个函数遍历文件夹下所有的文件和子文件
- php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- PHP遍历文件夹及子文件夹所有文件
- php遍历文件夹下的所有文件和子文件夹示例
- php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
- php遍历文件夹所有文件子文件夹函数代码
- php遍历文件夹所有文件子文件夹函数
- C#利用DirectoryInfo遍历文件夹所有文件的类
- php遍历文件夹下的所有文件和子文件夹示例
- php 遍历一个文件夹下的所有文件和文件夹
- PHP遍历文件夹及子文件夹所有文件
- PHP 遍历XP文件夹下所有文件
- php遍历所有文件及文件夹的方法
- PHP遍历输出一个文件夹下的所有文件
- php 遍历显示文件夹下所有目录、所有文件的函数