zoukankan      html  css  js  c++  java
  • 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);

    结果如图:

  • 相关阅读:
    grunt in webstorm
    10+ Best Responsive HTML5 AngularJS Templates
    响应式布局
    responsive grid
    responsive layout
    js event bubble and capturing
    Understanding Service Types
    To add private variable to this Javascript literal object
    Centering HTML elements larger than their parents
    java5 新特性
  • 原文地址:https://www.cnblogs.com/imnzq/p/6796752.html
Copyright © 2011-2022 走看看