/*
*  new getFile($_dir[,$_emptyDir,$_fileType]);
* @parma $_dir 是目录名称
* @parma $_emptyDir 是否获取空文件夹,选填,默认不获取,true则获取空文件夹
* @parma $_fileType 获取文件名称的类型,选填,默认获取只文件名称,true则获取带有路径的文件名称
**/
class getFiles {private $_dir;private $_emptyDir;private $_fileType;public $_files;public function __construct($_dir,$_emptyDir = false,$_fileType = false) {$this->_dir = $_dir;$this->_emptyDir = $_emptyDir;$this->_fileType = $_fileType;if ($this->_emptyDir) {$this->getFileEmpty($this->_dir,$this->_files);} else {$this->getFile($this->_dir,$this->_files);}}//读取文件夹所有文件不包括空文件夹private function getFile($_dir,&$_arr) {if (!!$_dirs = opendir($_dir)) {while (($_file=readdir($_dirs)) != false) {if ($_file == '.' || $_file == '..') continue;$_files = $_dir .'/'. $_file;if (is_dir($_files)) {$this->getFile($_files,$_arr);} else {if ($this->_fileType) {$_arr[] = $_files;} else {$_arr[] = $_file;}}}}closedir($_dirs);}//读取文件夹所有文件包括空文件夹private function getFileEmpty($_dir,&$_arr) {if (!!$_dirs = opendir($_dir)) {while (($_file=readdir($_dirs)) != false) {if ($_file == '.' || $_file == '..') continue;$_files = $_dir .'/'. $_file;if (is_dir($_files) && $this->isEmpty($_files)) {$this->getFileEmpty($_files,$_arr);} else {if ($this->_fileType) {$_arr[] = $_files;} else {$_arr[] = $_file;}}}}closedir($_dirs);}//判断文件夹是否为空private function isEmpty($_dir) {if (!!$_dirs = opendir($_dir)) {while (($_file=readdir($_dirs)) != false) {if($_file != '.' && $_file != '..') {closedir($_dirs);return true;break;}}closedir($_dirs);return false;}}
}

转载请注明出处:http://www.ly89.cn/detailB/36.html

转载于:https://www.cnblogs.com/ly89cn/p/4825272.html

PHP获取文件夹内所有文件包括子目录文件的名称或路径相关推荐

  1. 对文件夹内所有文件批量命名

    cmd打开dos cd转到对应文件夹 输入dir /b>rename.xls 打开文件夹内生成的rename.xls文件 记得删除其中rename.xls那一行 将整列复制到B列 C列写出想改成 ...

  2. php过去文件夹总数,用php获取文件夹内文件的数量

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 用php获取指定文件夹内文件的数量: 用PHP读取一个文件夹内有多少个文件,例如有一个Picture文件夹,里面有200张 ...

  3. SFTP获取文件夹内的文件名,文件大小,文件修改时间

    SFTP获取文件夹内的文件名,文件大小,文件修改时间 使用SFTP协议获取服务上的指定路径的文件夹下的所有文件名,文件大小,文件的修改时时间等. 工具类 import java.io.File; im ...

  4. 使用python将歌词文件(.lrc文件)转换成字典及遍历获取文件夹内所有lrc文件并以lrc格式显示出来

    import os class Get_lrcs(): #将lrc文件转换成字典def lrc_to_dict(file_path:str,filenmae:str): #需要传入的参数:文件路径,文 ...

  5. Java获取文件大小,文件夹内文件个数的工具类

    package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java. ...

  6. java 文件大小统计工具类_Java获取文件大小,文件夹内文件个数的工具类

    package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java. ...

  7. Python:获取文件夹内 文件夹 和 文件数量

    path = 'C:/Users/Dell/Desktop/test' print('dirnum:',len([lists for lists in os.listdir(path) if os.p ...

  8. 深度学习文件处理系列(一)——统一为文件夹内文件添加前缀

    专栏介绍 这个专栏旨在分享我在进行深度学习算法前的一些脚本文件.包括一些常见的处理,如将单通道图片改为三通道.统一图片格式.将标签进行统一设置方便查找等等. 为文件夹内的文件添加前缀 在进行算法训练前 ...

  9. python 文件操作 os 如何检索文件夹内文件数量

    参考文章1:python os获取文件夹中文件夹内文件的数量,保存为CSV文件 参考文章2:用python计算大文件夹下小文件夹里文件的个数

  10. iphone文件夹如何添加服务器,iPhone怎么在文件夹内新建文件夹 iPhone在文件夹内新建文件夹方法...

    iPhone怎么在文件夹内新建文件夹?相信很多朋友都不会,于是在各处搜索文件夹套文件夹的方法.但是试过了都失败了,于是乎自己摸索了一下,本教程支持iPad.itouch.iPhone,支持iOS8.4 ...

最新文章

  1. usaco Drainage Ditches(网络流dinic模板)
  2. Microsoft Azure部署MYSQL-MMM(3)配置MYSQL-MMM
  3. 2018 German Collegiate Programming Contest (GCPC 18)
  4. 模型驱动 ModelDriven
  5. t检验的p值对照表_统计学|各类统计检验方法大汇总
  6. 如何帮助企业把风控做得更好?(续篇)
  7. 2020已过大半,量子计算机发展如何了?
  8. 首个单芯片超小封装I2C转PWM解决方案
  9. 波士顿动力机器狗解锁“自动驾驶”,会跑步的Atlas真的很稳
  10. Flutter高级第5篇:官方推荐的状态管理库 provider 的使用
  11. 负margin使用注意的一个问题
  12. mtk sensor 驱动调试
  13. OpenHarmony AI图像识别开发—基于润和Hi3516开发套件
  14. ps怎么更改背景图层大小_ps修改背景教程
  15. 第四期_Metasploit 基础(二)MSFconsole《Metasploit Unleashed Simplified Chinese version(Metasploit官方文档教程中文版)》
  16. php mysql新闻表模板_新闻列表之创建数据库
  17. python123练习六+练习七
  18. 提高计算机软件速度的方法,小白看过来!提高电脑速度8种实用方法
  19. 移动端(一)—— 移动端概念
  20. 小学生python游戏编程arcade----excel调用

热门文章

  1. java计算两个数组的交集_回顾面试题:计算两个数组交集
  2. java redis sadd_Redis Sadd 命令
  3. Web Components 入门
  4. qtreeview编辑节点文本_[我花2个月做了叙事短篇游戏]我是怎么做游戏编辑工具的...
  5. PHP数组json占用内存,php - 从json“连接”多个数组 - 堆栈内存溢出
  6. 机器学习算法_机器学习算法之PCA算法
  7. matlab动态图最新存储文件,MATLAB 动图绘制、保存
  8. yoyo跑_足球YOYO体测大揭秘 失去资格只需两次
  9. idea中java文件红色处理
  10. 报表中去除字符中的空格