博客列表 >PHP获取文件夹中文件的两种方法介绍

PHP获取文件夹中文件的两种方法介绍

小臣
小臣原创
2020年04月12日 10:34:00624浏览

方法一:

传统方法

使用opendir readdir 和 while 循环结合

方法二:

使用 scandir 函数代替 while 循环

<?
/**
 * PHP获取文件夹中的文件两种方法
 */
header('Content-Type:text/html;charset=utf-8');
/**
 * 传统方法:
	在读取某个文件夹下的内容的时候
	使用 opendir readdir结合while循环过滤 当前文件夹和父文件夹来操作的
 */
function readFolderFiles($path)
{
    $list     = [];
    $resource = opendir($path);
    while ($file = readdir($resource))
    {
        //排除根目录
        if ($file != ".." && $file != ".")
        {
            if (is_dir($path . "/" . $file))
            {
                //子文件夹,进行递归
                $list[$file] = readFolderFiles($path . "/" . $file);
            }
            else
            {
                //根目录下的文件
                $list[] = $file;
            }
        }
    }
    closedir($resource);
    return $list ? $list : [];
}
/**
 * 方法二
	使用 scandir 函数 可以扫描文件夹下内容 代替while循环读取
 */
function scandirFolder($path)
{
    $list     = [];
    $temp_list = scandir($path);
    foreach ($temp_list as $file)
    {
        //排除根目录
        if ($file != ".." && $file != ".")
        {
            if (is_dir($path . "/" . $file))
            {
                //子文件夹,进行递归
                $list[$file] = scandirFolder($path . "/" . $file);
            }
            else
            {
                //根目录下的文件
                $list[] = $file;
            }
        }
    }
    return $list;
}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议