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;
}

浙公网安备 33010602011771号