好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php删除目录与中文目录代码 - php文件操作

php删除目录与中文目录代码

要删除目录我们必须先删除目录中的文件才行,在php中删除文件很简单unlink(),删除空目录使用rmdir即可.

例1,代码如下:

function  del_dir( $dir ){  {  if  (! $dir ) {  return  ; }  $cacheDir  =  $dir ;  $dh  = opendir( $cacheDir );  while  (  $file  = readdir( $dh ) ) {  //开源代码phpfensi.com   if  (( $file  ==  '.' ) || ( $file  ==  '..' )) {  continue ; }    if  ( file_exists (  $cacheDir  . '/' . $file )) {  if ( is_dir (  $cacheDir  . '/' . $file )){  del_dir( $cacheDir  . '/' . $file );  } elseif  (!unlink( $cacheDir  . '/' .  $file )) {    //删除完操作   }  }  }  }  } 

例2,代码如下:

function  deldir( $dir ) {     //先删除目录下的文件:      $dh =opendir( $dir );     while  ( $file =readdir( $dh )) {       if ( $file != "."  &&  $file != ".." ) {         $fullpath = $dir . "/" . $file ;         if (! is_dir ( $fullpath )) {            unlink( $fullpath );        }  else  {            deldir( $fullpath );        }      }    }       closedir ( $dh );     //删除当前文件夹:      if ( rmdir ( $dir )) {       return  true;    }  else  {       return  false;    }  }    ?> 

例3,代码如下:

function  removeDir( $dirName )   {         if (! is_dir ( $dirName ))  //如果传入的参数不是目录,则为文件,应将其删除        {        @unlink( $dirName ); //删除文件           return  false;        }         $handle  = @opendir( $dirName );  //如果传入的参数是目录,则使用opendir将该目录打开,将返回的句柄赋值给$handle         while (( $file  = @readdir( $handle )) !== false)  //这里明确地测试返回值是否全等于(值和类型都相同)FALSE,否则任何目录项的名称求值为 FALSE 的都会导致循环停止(例如一个目录名为[0])。         {             if ( $file != '.' && $file != '..' )  //在文件结构中,都会包含形如[.]和[..]的向上结构,但是它们不是文件或者文件夹            {            $dir  =  $dirName  .  '/'  .  $file ;  //当前文件$dir为文件目录+文件             is_dir ( $dir )?removeDir( $dir ):@unlink( $dir );  //判断$dir是否为目录,如果是目录则递归调用reMoveDir($dirName)函数,将其中的文件和目录都删除;如果不是目录,则删除该文件            }        }         closedir ( $handle );                 return   rmdir ( $dirName ) ;   } 

例4,删除几天前创建的目录,代码如下:

function  delfile( $dir , $n )  //删除DIR路径下N天前创建的所有文件;   {  if ( is_dir ( $dir ))    {    if ( $dh =opendir( $dir ))     {       while  (false !== ( $file  = readdir( $dh )))       {        if ( $file != "."  &&  $file != ".." )        {          $fullpath = $dir . "/" . $file ;          if (! is_dir ( $fullpath ))          {                       $filedate = date ( "Y-m-d" ,  filemtime ( $fullpath ));            $d1 = strtotime ( date ( "Y-m-d" ));           $d2 = strtotime ( $filedate );           $Days = round (( $d1 - $d2 )/3600/24);            if ( $Days > $n )          unlink( $fullpath );   ////删除文件                 }       }            }     }      closedir ( $dh );    }  }  ?> 

查看更多关于php删除目录与中文目录代码 - php文件操作的详细内容...

  阅读:68次