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 文件夹
本文出自简爱博客,转载时请注明出处及相应链接。
评论
其实很简单的说
@sinkery:对于俺这中新手来说 不算简单 留着备用