一、php遍历目录方法
1. 方法1
2. 方法2
二、php目录遍历函数opendir用法
opendir()函数的作用:
打开目录句柄,如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error],你可以在函数的最前面加上“@”来隐藏错误.
syntax语法:opendir(directory,context) parameter
参数:description
描述:directory required. specifies the directory to stream
必要参数,指定目录对象,可选参数,指定需要处理的目录对象的context,这个context包括了一组选项,它可以对文本流的显示方式进行改变。
代码:
三、php非递归算法遍历目录下所有文件
php不用递归实现列出目录下所有文件的代码
代码:
/**
* PHP 非递归实现查询该目录下所有文件
* @param unknown $dir
* @return multitype:|multitype:string
*/
function scanfiles($dir) {
if (! is_dir ( $dir ))
return array ();
// 兼容各操作系统
$dir = rtrim ( str_replace ( '', '/', $dir ), '/' ) . '/';
// 栈,默认值为传入的目录
$dirs = array ( $dir );
// 放置所有文件的容器
$rt = array ();
do {
// 弹栈
$dir = array_pop ( $dirs );
// 扫描该目录
$tmp = scandir ( $dir );
foreach ( $tmp as $f ) {
// 过滤. ..
if ($f == '.' || $f == '..')
continue;
// 组合当前绝对路径
$path = $dir . $f;
// 如果是目录,压栈。
if (is_dir ( $path )) {
array_push ( $dirs, $path . '/' );
} else if (is_file ( $path )) { // 如果是文件,放入容器中
$rt [] = $path;
}
}
} while ( $dirs ); // 直到栈中没有目录
return $rt;
}