php文件夹的相关操作
php获取文件夹大小
function dirSize($path){ $sum=0; global $sum; $handle=opendir($path); while(($item=readdir($handle))!==false){ if($item!='.'&&$item!='..'){ if(is_file($path.'/'.$item)){ $sum+=filesize($path.'/'.$item); } if(is_dir($path.'/'.$item)){ $func=__FUNCTION__; $func($path.'/'.$item); } } } closedir($handle); return $sum; }
//注意用的时候记得每次 要清0,要不然会累加
<?php sum=0;echo dirSize($path);?>
php创建文件夹
/** * 创建文件夹 * @param string $dirname * @return string */ function createFolder($dirname){ //检测文件夹名称的合法性 if(checkFilename(basename($dirname))){ //当前目录下是否存在同名文件 if(!file_exists($dirname)){ if(mkdir($dirname,0777,true)){ $mes='文件夹创建成功'; }else{ $mes='文件夹创建失败'; } }else{ $mes='存在相同的文件夹名称'; } }else{ $mes='非法文件夹名称'; } return $mes; }
php重命名文件夹
/** * 重命名文件夹 * @param string $oldname * @param string $newname * @return string */ function renameFolder($oldname,$newname){ //验证文件名是否合法 if(checkFilename(basename($newname))){ //$path=dirname($oldname); if(!file_exists($newname)){ //进行重命名 if(rename($oldname,$newname)){ $mes='重命名成功'; }else{ $mes='重命名失败'; } }else{ $mes='存在同名文件夹,请重新命名'; } }else{ $mes='非法文件夹名'; } return $mes; }
php复制文件夹及文件
/** * 复制文件夹及文件 * @param $src * @param $dst * @return string */ function copyFolder($src,$dst){
//检测要复制到文件夹是否存在 if(!file_exists($dst)){ mkdir($dst,0777,true); }
//打开文件 $handle=opendir($src);
//遍历文件夹下的文件和文件夹并复制到目标文件夹 while(($item=readdir($handle))!==false){ if($item!='.'&&$item!='..'){ if(is_file($src.'/'.$item)){ copy($src.'/'.$item,$dst.'/'.basename($src).'/'.$item); } if(is_dir($src.'/'.$item)){ $func=__FUNCTION__; $func($src.'/'.$item,$dst.'/'.basename($src).'/'.$item); } } } closedir($handle); return "复制成功"; }
php 删除文件夹及文件
/** * 删除文件夹及文件 * @param $path * @return string */ function delFolder($path){ $handle=opendir($path); while(($item=readdir($handle))!==false){ if($item!="."&&$item!=".."){ if(is_file($path."/".$item)){
//使用unlink删除文件 unlink($path."/".$item); } if(is_dir($path."/".$item)){
//递归,调用当前函数 $func=__FUNCTION__; $func($path."/".$item); } } } closedir($handle); rmdir($path); return "文件夹删除成功"; }
php 剪切文件夹
/** * 剪切文件夹 * @param $src 源文件夹 * @param $dst 目标文件夹 * @return string */ function cutFolder($src,$dst){ if(file_exists($dst)){ if(is_dir($dst)){ if(!file_exists($dst.'/'.basename($src))){ if(rename($src,$dst.'/'.basename($src))){ $mes='剪切成功'; }else{ $mes='剪切失败'; } }else{ $mes='存在同名文件夹'; } }else{ $mes='不是一个文件夹'; } }else{ $mes='目标文件夹不存在'; } return $mes; }