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

创建多级目录

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

<?php
$path = "one/two/three/four";
function mkdir_p($path,$mode=0700){
  $arr = explode("/",$path);
  $path = '';
  foreach($arr as $v){
    $path .= $v;
    mkdir($path,$mode);
    $path .= "/";
  }
}
mkdir_p($path);

级联删除文件

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

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

<?php
$path = $_server['document_root']."lib";
function rmdir_r($path){
  $handle = opendir($path);
  while($file=readdir($handle)){  //删除所有文件夹
    $type = filetype($path."/".$file);
    if($file=='.'||$file=="..")
      continue;
    if($type=="file"){
      //如果类型为文件,则删除之
      unlink($path."/".$file);
    }
    if($type=="dir"){
      //如果类型为文件夹,则级联删除
      rmdir_r($path."/".$file);
    }
  }
  closedir($handle);
  rmdir($path);
}
rmdir_r($path);