您的位置:首页 > 编程语言 > PHP开发

php遍历目录的四种方法

2014-12-01 12:01 288 查看
一、利用scandir函数来遍历目录

scandir():扫描目录,显示文件夹内所有内容,返回数组,包括 . 与 ..

function bl_scandir($dirname){

$dirArr = scandir($dirname);

foreach($dirArr as $v){

//组合文件或文件夹的路径

$filename = $dirname.'\\'.$v;

if ($v != '.' && $v != '..'){

if (is_dir($v)){

bl_scandir($v)

} else {

echo $v;

}

}

}

}

二、利用glob()函数遍历目录

glob():扫描目录,以数组形式返回文件夹中的内容,返回的内容中已经包含了路径。参数1:要遍历的目录,可以指定返回的文件类型

//返回当前目录下的所有文件

eg:$dirarr = glob('./*');

//返回当前目录下的所有PHP文件

$dirarr = glob('./*.php');

function globDir($dirname,$type=''){

if ($type==''){

//返回所有类型的文件

$dirInfo = glob($dirname.'/*');

} else {

//返回$type类型的文件

$dirInfo = glob($dirname.'/*.'.$type);

}

foreach($dirInfo as $v){

因为返回的数组元素中已经包括了文件路径,所以不需要组合文件路径

if (is_dir($v)) {

globDir($v);

} else {

echo $v."<br/>";

}

}

}

三、以对象方式遍历目录

创建template目录的对象

$dir = dir('template');

while(($file = $dir->read()) !== false){

echo $file."<br/>";

}

四、同过opendir()、readdir()函数遍历目录

function bldir($dirname){

$dir = opendir($dirname);

while(($file = $readdir($dir)) !== false){

//组装文件夹和文件的路径

$filename = $dirname.'\\'.$file;

if ($file != '.' && $file !== '..') {

if (is_dir($filename)) {

bldir($filename);

} else {

echo $filename;

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: