专注于高品质PHP技术等信息服务于一体 [STIEMAP] [RSS]

百度提供的广告:
PHP
当前位置:首页 > 技术文档 > PHP >  > 
递归读取所有文件PHP3种算法
/*
foreach(glob(__DIR__.'/*.php') as $file)
{
    echo $file;
}
*/
##新递归读取文件夹方法 返回完整路径
/*
function echo_all_file($path)
{
    $path.='/*';
    foreach(glob($path) as $_path)
    {
        if(is_dir($_path))
        {
            echo_all_file($_path);
        }
        else
        {
            echo $_path."\r\n";
        }
    }
}
##测试
echo_all_file(__DIR__);
*/
#####常规写法 directory 类 方法
function echo_all_file($path)
{
    $fso = dir($path);
    while($_path = $fso->read())
    {
        if('.'!=$_path && '..'!=$_path)
        {
            if(is_dir($path.'/'.$_path))
            {
                echo_all_file($path.'/'.$_path);
            }
            else
            {
                echo $path.'/'.$_path."\r\n";
            }
        }
    }
    $fso->close();
}
##测试
echo_all_file(__DIR__);


######另一种写法 函数形式

function echo_all_file($path)
{
    $fso = opendir($path);
    while($_path = readdir($fso))
    {
        if('.'!=$_path && '..'!=$_path)
        {
            if(is_dir($path.'/'.$_path))
            {
                echo_all_file($path.'/'.$_path);
            }
            else
            {
                echo $path.'/'.$_path."\r\n";
            }
        }
    }
    closedir($fso);
}
##测试
echo_all_file(__DIR__);