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);
结果如图:

php获取指定目录下的所有文件列表的更多相关文章
- C++:获取指定目录下的所有文件
1.获得指定目录下的所有文件(不搜索子文件夹) 需要包含的头文件 #include <io.h> #include <string> #include <vector&g ...
- 利用 FilesystemIterator 获取指定目录下的所有文件
/** * 获取指定目录下的所有文件 * @param null $path * @return array */ public function getFileByPath($path = null ...
- c# 获取指定目录下的所有文件并显示在网页上
参考文献: FileInfo 的使用 https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).as ...
- File常用的方法操作、在磁盘上创建File、获取指定目录下的所有文件、File文件的重命名、将数据写入File文件
文章目录 1.基本介绍 2.构造方法 3.常用的方法 4.代码实例 4.1 创建文件和目录(目录不存在) 4.1.1 代码 4.1.2 测试结果 4.2 测试目录存在的情况.直接写绝对的路径名 4.2 ...
- Qt5读取系统环境变量和获取指定目录下的所有文件夹绝对路径
头文件 /// 读取环境变量使用 #include <QProcessEnvironment> /// 遍历文件夹使用 #include <QDir> 核心代码 一个例子, 输 ...
- svnkit递归获取指定目录下的全部文件
package demo.wc; import java.util.Collection; import java.util.Iterator; import org.tmatesoft.svn.co ...
- golang 获取指定目录下的子文件列表
GO语言按照深度遍历文件 原创 2016年07月20日 09:45:19 标签: go语言 / 遍历 / string 1971 常规方法不使用pathfilepath包 go的filepath包 g ...
- 微软BI 之SSIS 系列 - 在 SSIS 中将指定目录下的所有文件分类输出到不同文件夹
开篇介绍 比如有这样的一个需求,旧的一个业务系统通常将产出的文件输出到同一个指定的目录下的不同子目录,输出的文件类型有 XML,EXCEL, TXT 这些不同后缀的文件.现在需要在 SSIS 中将它们 ...
- 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本
摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...
随机推荐
- 【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
作者 : 万境绝尘 转载请著名出处 终于拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...
- 海量数据挖掘MMDS week1: Link Analysis - PageRank
http://blog.csdn.net/pipisorry/article/details/48579435 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
- Java图形界面编程生成exe文件
1. 先将代码打成jar,然后使用exe4j转成exe ext4j下载 链接:http://pan.baidu.com/s/1kTCIZtX 密码:pvj1 打开EXE4J Advanced Opti ...
- JSP 对象的作用范围
在JSP中,对象有四种范围:page.request.session和application page范围 所谓的page范围指单一的JSP页面范围,page范围内的对象只能在 ...
- android MVP框架
原文地址:http://blog.csdn.net/guxiao1201/article/details/40147209 在开发Android应用时,相信很多同学遇到和我一样的情况,虽然项目刚开始构 ...
- Smarty学习笔记(一)
1.Smarty的配置: 将lib的内容复制到自己的工程,然后引入 实例化和配置Smarty基本属性: $smarty = new Smarty(); $smarty->left_delimit ...
- 新版MATERIAL DESIGN 官方动效指南(三)
运动 Material design 的动效会被类似真实世界中的力的影响,类似重力. 物体在屏幕内的运动 屏幕内物体在两点之间的运动,是沿着一条自然.凹陷的弧线.屏幕上所有的运动都可以使用标准曲线. ...
- LeetCode之“动态规划”:Interleaving String
题目链接 题目要求: Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example ...
- Eclipse修改工程名字
1:修改项目目录下:.project文件 <?xml version="1.0" encoding="UTF-8"?> <projectDes ...
- gtk+2.0中GtkObject结构中没有klass成员的解决办法
gtk+2.0中一些较老的程序中会有如下的代码: #define EVENT_METHOD(obj, method) GTK_WIDGET_CLASS(GTK_OBJECT(obj)->klas ...