• php获取指定目录下的所有文件列表


    在我们实际的开发需求中,经常用到操作文件,今天就讲一下关于获取指定目录下的所有文件的几种常用方法:

     

    1、scandir()函数

    scandir() 函数返回指定目录中的文件和目录的数组。

    scandir(directory,sorting_order,context); 
    参数描述
    directory必需。规定要扫描的目录。
    sorting_order

    可选。规定排列顺序。默认是 0,表示按字母升序排列。

    如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则表示按字母降序排列。

    如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。

    context可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。

    若成功则返回文件和目录的数组。失败则返回 FALSE。

    如果 directory 不是目录,则抛出 E_WARNING 级别的错误。

    假如有如下目录结构:

    在sf.php写入代码如下:

    <?php  
    //获取当前文件所在的绝对目录
    $dir =  dirname(__FILE__);
    //扫描文件夹
    $file = scandir($dir);
    //显示
    echo " <pre>";
    print_r($file);
    ?>

    显示如下图所示:

    2、使用opendir、readdir、closedir

    opendir() 函数打开一个目录句柄,若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。

    readdir() 函数返回由 opendir() 打开的目录句柄中的条目。若成功,则该函数返回一个文件名,否则返回 false。

    closedir — 关闭目录句柄。

    代码如下:

    <?php  
    //取得当前文件所在目录
    $dir  =  dirname(__FILE__);
     //判断目标目录是否是文件夹
            $file_arr = array();
            if(is_dir($dir)){
                //打开
                if($dh = @opendir($dir)){
                    //读取
                  
                    while(($file = readdir($dh)) !== false){
                        if($file != '.' && $file != '..'){
      
                            $file_arr[] = $file;
                        }
                    }
                    //关闭
                    closedir($dh);
                }
    }
    ?>
    echo "<pre>";
    print_r($file);

    结果如图:

    DEMO下载地址:https://dwz.cn/fgXtRtnu

  • 相关阅读:
    android的窗口创建过程
    android的Binder
    Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释
    android的事件分发测试结果
    Don't Store Data in the Application Object
    关于算法
    自定义控件其实很简单3/4
    自定义控件其实很简单2/3
    建设一个能承受500万PV/每天的网站
    strust2里面package的元素排列顺序
  • 原文地址:https://www.cnblogs.com/xproer/p/10790098.html
Copyright © 2020-2023  润新知