遍历目录的所有文件是开发中经常用到的案例,也是面试中最喜欢问的题目,所有在此用递归函数实现一下!
<?php
header('Content-Type: text/html; charset=utf-8');
function read_dirs($path) {
// 判断path是否存在
if(!file_exists($path)){
var_dump([ 'code'=>'1001','msg' =>'path is not exits!']);
// 判断path是否为目录
}elseif (!is_dir($path)){
var_dump(['code' => '1002','msg' => 'is not dir' ]);
}else{
$dir_handle = opendir($path);
while(false !== $file=readdir($dir_handle)) {
if ($file=='.' || $file=='..') continue;
//输出该文件
echo $file, "\n";
// 判断当前file是否为目录
if(is_dir($path . '/' . $file)) {
// file为目录时进行递归遍历
read_dirs($path . '/' . $file);
}
}
closedir($dir_handle);
}
}
read_dirs('./demo');
?>