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

2019-02-28     浏览次数:

在开发的过程中经常会使用到获取文件夹下面的文件,接下来吾爱编程就为大家介绍一下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);

结果如图:

*转载请注明出处,更多资料尽在 吾爱编程
返回吾爱编程首页