• 技术文章 >后端开发 >php教程

    PHP 获取指定目录下所有文件(包含子目录)

    2016-07-29 09:00:20原创1244
    PHP 获取指定目录下所有文件(包含子目录)

    测试环境在linux下,如果要在windows,请改正$new_dir中的目录路径查找方式

    php
     
    function get_file_list($dir)
    {
          $file_list = array();
        $file_dir_list = array();
         
        $dir_list = scandir($dir); //查找目录  foreach ($dir_list as $r)
        {
            if ($r == '.' || $r == '..')  
            {
                continue;
            }
            $new_dir = $dir . '/' . $r;
            if (is_dir($new_dir))
            {            $file_dir = get_file_list($new_dir);
                $file_dir_list = array_merge($file_dir_list, $file_dir);
            }
            else        {
                $file_list[] = $new_dir;
            }
        }
         
        return array_merge($file_list, $file_dir_list);
    }
     
    $file_list = get_file_list('.');
    print_r($file_list);

    scandir定义和用法

    scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。

    若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。

    语法

    scandir(directory,sort,context)
    参数描述
    directory必需。规定要扫描的目录。
    sort可选。规定排列顺序。默认是 0 (升序)。如果是 1,则为降序。
    context可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。

    例子

    php
    print_r(scandir("images"));
    ?> 

    输出:

    Array
    (
    [0] => .
    [1] => ..
    [2] => dog.jpg
    [3] => house.jpg
    [4] => logo.gif
    )

    以上就介绍了PHP 获取指定目录下所有文件(包含子目录),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:file list dir scandir array
    上一篇:关于PHP连接处理中set_time_limit、connection_status和ignore_user_abort深入解析 下一篇:php如何判断常量是否被定义?
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 一文聊聊php5.6的特性【总结】• 一文聊聊php5.4的特性【总结】• PHP常量两种定义方法:define和const有什么区别• 一文详解PHP5-8各版本特性【汇总】• PHP实现LRU算法的示例代码
    1/1

    PHP中文网