索引自定义函数
程序员文章站
2022-04-26 09:55:26
...
目录自定义函数
PHP中并不提供查询目录大小、复制目录、删除有文件的目录的函数,我们需要自己编写
这个函数只要传递一个url,就能递归查询目录中的文件大小,从而统计出目录大小
1 php 2 function dirSize($dir){ 3 $dirsize = 0; 4 $url = opendir($dir); 5 while($filename = readdir($url)){ 6 $file = $dir.'/'.$filename; 7 if(!($filename=='.' || $filename=='..')){ 8 if(is_dir($file)){ 9 $dirsize += dirSize($file);10 }else{11 $dirsize += filesize($file);12 }13 }14 }15 closedir($url);16 return $dirsize;17 }
这个函数需要传递两个url,分别是旧目录和新目录,就能复制该目录及文件
1 php 2 function copyDir($dirSrc,$dirTo){ 3 if(is_file($dirTo)) 4 { 5 echo '目标不是目录不能创建!'; 6 return; 7 } 8 if(!file_exists($dirTo)) 9 {10 mkdir($dirTo);11 }12 $dir_handle = @opendir($dirSrc);13 if($dir_handle)14 {15 while($filename = readdir($dir_handle))16 {17 if($filename!="." && $filename!="..")18 {19 $subSrcFile = $dirSrc . "\\".$filename;20 $subToFile = $dirTo . "\\".$filename;21 22 if(is_dir($subSrcFile))23 {24 copyDir($subSrcFile, $subToFile);25 }26 if(is_file($subSrcFile))27 {28 copy($subSrcFile, $subToFile);29 }30 }31 }32 closedir($dir_handle);33 }34 }
这个函数只要传递一个url,就能递归删除目录及子目录的文件,从而删除目录
1 php 2 function rmDirAll($url){ 3 //检测要打开目录是否存在 4 if(!$dir=@opendir($url)){ 5 return false; 6 } 7 while(false !==($file=readdir($dir))){ 8 //排除当前目录与父级目录 9 if($file!=="."&&$file!==".."){10 $file=$url .'/'. $file;11 //递归删除目录12 if(is_dir($file)){13 rmDirAll($file);14 }else{15 if(@unlink($file)){16 continue;17 }else{18 return false;19 }20 }21 }22 if(@rmdir($url)){23 return true;24 }else{25 return false;26 }27 }28 }
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
上一篇: 自己写过哪些简短但很牛逼的代码?
下一篇: js tab效果的实现代码_导航菜单
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论