php遍历目录的四种方法

一、利用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;

}

}

}

}










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值