600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php获得指定目录文件 PHP遍历指定文件夹获取路径及大小(包含子文件夹)

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

时间:2023-02-21 09:25:25

相关推荐

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。