php创建多级目录与级联删除文件的方法示例

本文实例讲述了php创建多级目录与级联删除文件的方法,分享给大家供大家参考,具体如下:

创建多级目录

mkdir函数只能创建一级的目录,如果我们想创建多级目录,则需要自己编写函数。

  1. <?php
  2. $path = "one/two/three/four";
  3. function mkdir_p($path,$mode=0700){
  4. $arr = explode("/",$path);
  5. $path = '';
  6. foreach($arr as $v){
  7. $path .= $v;
  8. mkdir($path,$mode);
  9. $path .= "/";
  10. }
  11. }
  12. mkdir_p($path);

级联删除文件

我们知道PHP中的rmdir函数只能删除空文件夹,unlink只能用来删除文件。

我们可以自己编写函数,级联删除非空文件夹。

  1. <?php
  2. $path = $_SERVER['DOCUMENT_ROOT']."lib";
  3. function rmdir_r($path){
  4. $handle = opendir($path);
  5. while($file=readdir($handle)){ //删除所有文件夹
  6. $type = filetype($path."/".$file);
  7. if($file=='.'||$file=="..")
  8. continue;
  9. if($type=="file"){
  10. //如果类型为文件,则删除之
  11. unlink($path."/".$file);
  12. }
  13. if($type=="dir"){
  14. //如果类型为文件夹,则级联删除
  15. rmdir_r($path."/".$file);
  16. }
  17. }
  18. closedir($handle);
  19. rmdir($path);
  20. }
  21. rmdir_r($path);