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

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 文件夹

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值