封装创建目录方法、读取目录并包含目录大小的方法
坚果缘2019-08-26 17:14:30301 <?php
//目录的创建和读取操作及目录大小
class folder_activity{
//创建目录
function create_folder($filename){
if (!file_exists($filename)){
if(mkdir($filename,0777,true)){
return "目录创建成功!";
}else{
return "目录创建失败!";
}
}else{
return "目录已存在,请不要重新创建!";
}
}
//echo create_folder('fold/practice3');
//读取目录
function read_folder($foldername){
if(file_exists($foldername)){
$array = [];
$dir = opendir($foldername);
while($item = readdir($dir)){
if($item!='.'&&$item!='..'){
if(is_file($foldername.'/'.$item)){
$array['file'][] = $item;
}
if(is_dir($foldername.'/'.$item)){
$array['folder'][]= $item;
}
}
}
}else{
return "需要读取的目录不存在,请检查目录名是否正确!";
}
closedir($dir);
return $array;
}
//var_dump(read_folder('fold'));
function dir_size($path){
$sum = 0;
global $sum;
$dir = opendir($path);
while($item = readdir($dir)){
if($item!='.'&&$item!='..'){
if(is_file($path.'/'.$item)){
$sum+=filesize($path.'/'.$item);
}
if(is_dir($path.'/'.$item)){
$func = __FUNCTION__;
$func($path.'/'.$item);
}
}
}
//closedir($dir);
return $sum;
}
//echo dir_size('fold');
}
?>