PHP面试题之遍历某文件夹下的所有文件和文件夹

  PHPer面试中出现频率较高的题目之一,就是写一个函数,遍历文件夹下的所有文件或文件夹,该题目较为全面地考查了PHPer对于文件相关函数的掌握情况,并且在实际开发中也是使用频率很高。因此,熟练掌握很有必要。希望通过阅读该文章,大家能有所收获,不但顺利通过面试,获得高薪岗位,还能促进开发能力的增长。

  特总结如下:

  

function scan_dir($dir)
{
    $array = array();// 定义一个空数组,用于存放遍历的目录。
    $resource = opendir($dir);// 打开目录,并返回目录句柄。
    while(($file = readdir($resource)) !== false)// 当能够读取目录时,执行以下循环。
    {
        if ($file != '.' && $file != '..')// 排除此两个目录
        {
            if (is_dir($dir.'/'.$file))// 如果目录下仍是目录,递归执行。
            {
                $array[$file] = scan_dir($dir.'/'.$file);
            }
            else
            {
                array_push($array,$file);// 将文件加入列表数组。
            }
        }
    }
    closedir($resource);// 关闭目录句柄。
    return $array;// 返回结果数组。
}
echo "<pre>";
print_r(scan_dir('.'));// 打印出当前目录下所有的文件和文件夹。
echo "</pre>";

  那么以上,就是该题目的全部实现,不足之处,请多批评指教。

posted @ 2018-03-09 01:08  练武不练功到头一场空  阅读(182)  评论(0)    收藏  举报