本文章利用了php中的二个重要的目录操作函数,来实现遍历目录下的目录以及目录下的文件的实现方法,函数我们详细了介绍了,下面看实例
代码如下 |
复制代码 |
function listFiles($path){
$result = array();
foreach(glob($path.'\'."*") as $item){
$result[strtolower($item)] = $item;
if(is_dir($item)){
$result += listFiles($item);
}
}
return $result;
}
$path = 'E:\web\dianle';
foreach(listFiles($path) as $item){
echo $item.' ';
}
function listFiles($path){
$result = array();
foreach( scandir($path) as $item ){
if($item != '.' && $item != '..' ){
$item = $path.'\'.$item;
$result[strtolower($item)] = $item;
if(is_dir($item)){
$result += listFiles($item);
}
}
}
return $result;
}
$path = 'E:\web\dianle';
foreach(listFiles($path) as $item){
echo $item.' ';
}
?>
|
用到的一个函数
scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。
若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。
语法
scandir(directory,sort,context)
ログイン後にコピー
参数 |
描述 |
directory |
必需。规定要扫描的目录。 |
sort |
可选。规定排列顺序。默认是 0 (升序)。如果是 1,则为降序。 |
context |
可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项 |
现在看另一个函数
glob() 函数返回匹配指定模式的文件名或目录。
该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。
语法
glob(pattern,flags)
ログイン後にコピー
参数 |
描述 |
file |
必需。规定检索模式。 |
size |
可选。规定特殊的设定。
- GLOB_MARK - 在每个返回的项目中加一个斜线
- GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
- GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
- GLOB_NOESCAPE - 反斜线不转义元字符
- GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
- GLOB_ONLYDIR - 仅返回与模式匹配的目录项
- GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误
注释:GLOB_ERR 是 PHP 5.1 添加的
|