PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小

代码如下:

// 获取指定文件夹 所有文件及大小 (包含子文件夹) By 【简爱】

function JA_files2arr($dirpath){

if($dirpath[strlen($dirpath)-1]!="/"){$dirpath.="/";} //

static $result_array=array();

if(is_dir($dirpath)){

if($handle=opendir($dirpath)){

while($file=readdir($handle)){

if($file=="."||$file==".."){continue;} // 排除当前、上级目录

if(is_dir($dirpath.$file)){

JA_files2arr($dirpath.$file."/"); // 如果是文件夹 继续遍历

}else{

$arr['name'] = $dirpath.$file; // 文件路径 及 名称

$size = filesize($dirpath.$file); // 获取大小

$arr['sizede'] = Get_Size($size); // 格式化大小

$arr['size'] = $size;

array_push($result_array,$arr); // 入栈

}

}

closedir($handle);

}

}

return $result_array;

}

// 格式化文件大小

function Get_Size($fileSize){

if ($fileSize >= 1073741824){

$fileSize = round($fileSize / 1073741824, 2) . ' GB';

}elseif($fileSize >= 1048576){

$fileSize = round($fileSize / 1048576, 2) . ' MB';

}elseif($fileSize >= 1024){

$fileSize = round($fileSize / 1024, 2) . ' KB';

}else{

$fileSize = $fileSize . ' Byte';

}

return $fileSize;

}

// 使用示例

print_r(JA_files2arr("./")); // 打印当前文件夹

print_r(JA_files2arr("./EMLOG/")); // 打印 EMLOG 文件夹

php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)相关推荐

  1. 编写文件搜索小程序:1. 输入绝对路径以及搜索关键字,2. 搜索指定路径下(包括子文件夹)中名称包含关键字的所有文件并打印出,3. 将当前操作记录日志

    package com.homework;import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio ...

  2. copy 扩展名 包含子文件夹 文件 到某个 文件夹

    比如我在d:\fff下面有很多子文件夹,子文件夹里还有子文件夹,里面有些文件夹里有.ppm.bz2的后缀的文件,需要把他们找出来复制到d:\fff2里面,应该怎么用批处理写? 最佳答案 1 2 3 4 ...

  3. python:复制文件夹及内容(包含子文件夹)到指定目录

    import yaml import os import shutildef copyHistorySession():source_path5048 = r'D:\sourse'target_pat ...

  4. Java读取文件夹下的指定类型的文件(包含子文件夹)

    java如何获取文件下某种类型的文件呢,本文通过递归筛选实现此功能,代码如下: import java.io.File; import java.util.ArrayList; import java ...

  5. 获取文件夹下的文件,包含子文件夹并复制文件

    工作的时候用到的一些方法,在这里记录一下. public class GetFileList {private static ArrayList<File> fileList = new ...

  6. 遍历文件夹(含子文件夹)方法

    做法基本上有2大类: ① 经典Dir ② FSO 即 Scripting. File System Object 的[文件系统对象]脚本方法. 一开始可能Dir方法较为普遍,但随着水平的提高,应用FS ...

  7. Python批量修改文件夹及其子文件夹下的文件内容

    前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用excel手动改数据 ...

  8. python修改文件内容_python批量修改文件夹及其子文件夹下的文件内容

    前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用excel手动改数据 ...

  9. python os.removedirs() 和shutil.rmtree()(os.removedirs用于删除非空文件夹和子文件夹、shutil.rmtree用于删除文件夹下所有文件夹和文件)

    文章目录 shutil.rmtree() os.removedirs() shutil.rmtree() shutil.rmtree() 表示递归删除文件夹下的所有子文件夹和子文件. def rmtr ...

最新文章

  1. libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
  2. 2014腾讯WE大会:开启未来的五大科技发展趋势
  3. SpringMVC中@RequestParam(username)
  4. html输入字符长度佛下一句,js如何判断输入字符串长度
  5. BZOJ 2301 Problem b
  6. Android progressBar 自定义
  7. Hdu 1301 Jungle Roads (最小生成树)
  8. 10年老电脑如何提速_电脑上如何提取图片中的文字?教你3个方法,10秒轻松搞定...
  9. 轻量java框架_smart-framework
  10. 《普林斯顿微积分读本》笔记-第4章求解多项式的极限问题
  11. 常用音频单位简介:dBSPL、dBm、dBu、dBV、dBFS
  12. 办公室计算机知识考试试题,办公室人员电脑操作基本技能方面测试题--绝对经典...
  13. webstorm连接github上传代码
  14. ICPC2019徐州 Yuuki and a problem 树套树
  15. 如何查看自己电脑应该买什么样的内存条
  16. ATC系统QNH高度修正(AirNet川大)
  17. 全国计算机考试第五套,计算机等级一级MS Office考试考题:第五套字处理题
  18. 基于TCP协议的游戏代理接口测试工具<一>:设计初衷与工具构想
  19. 海康萤石的本地在线码流
  20. 深度解析卡尔曼滤波在IMU中的使用

热门文章

  1. 自定义viewgroup实现ArcMenu
  2. 70行Python代码,获取中国数据库大会(DTCC)全部PPT
  3. ❤『面试知识集锦100篇』3.mysql篇丨mysql基础知识和面试真题,看完不收藏算我输!!
  4. Scrapy源码阅读分析_3_核心组件
  5. SpringBoot 自带工具类~CollectionUtils
  6. linux 第三章红帽子,红帽子 Linux_命令全解
  7. java 如何将数字倒置_每日一个小算法之整数中每位上的数字进行反转 20190810
  8. PKU 学生的反馈 2009-1
  9. 向别人网页注入js_区块链研究实验室 | Web3 .js基于以太坊的Javascript API
  10. arcgis批量出图python代码_python使用arcpy.mapping模块批量出图