欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

索引自定义函数

程序员文章站 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 }

索引自定义函数

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 索引自定义函数
  • 专题推荐

    作者信息
    索引自定义函数

    认证0级讲师

    推荐视频教程
  • 索引自定义函数javascript初级视频教程
  • 索引自定义函数jquery 基础视频教程
  • 视频教程分类