好得很程序员自学网

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

PHP unlink与rmdir删除目录及目录下所有文件 - php文

PHP unlink与rmdir删除目录及目录下所有文件

在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.

函数代码: 仅删除指定目录下的文件,不删除目录文件夹,代码如下:

class  shanchu {  //循环目录下的所有文件   function  delFileUnderDir(  $dirName =]Smarty/templates/templates_c] )  {  if  (  $handle  = opendir( [ $dirName ] ) ) {  while  ( false !== (  $item  = readdir(  $handle  ) ) ) {  if  (  $item  != [.] &&  $item  != [..] ) {  if  (  is_dir ( [ $dirName / $item ] ) ) {  delFileUnderDir( [ $dirName / $item ] );  }  else  { //开源代码phpfensi.com   if ( unlink( [ $dirName / $item ] ) ) echo  [成功删除文件:  $dirName / $item <br />n];  }  }  }  closedir (  $handle  );  }  }  } 

假设需要删除一个名叫]upload]目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:

<?php delFileUnderDir( ‘upload’);?>

php删除所有目录,代码如下:

function  deltree( $pathdir )   {   echo   $pathdir ; //调试时用的    if (is_empty_dir( $pathdir )) //如果是空的    {   rmdir ( $pathdir ); //直接删除    }   else    { //否则读这个目录,除了.和..外    $d =dir( $pathdir );   while ( $a = $d ->read())   {   if ( is_file ( $pathdir . '/' . $a ) && ( $a != '.' ) && ( $a != '..' )){unlink( $pathdir . '/' . $a );}   //如果是文件就直接删除    if ( is_dir ( $pathdir . '/' . $a ) && ( $a != '.' ) && ( $a != '..' ))   { //如果是目录    if (!is_empty_dir( $pathdir . '/' . $a )) //是否为空    { //如果不是,调用自身,不过是原来的路径+他下级的目录名    deltree( $pathdir . '/' . $a );   }   if (is_empty_dir( $pathdir . '/' . $a ))   { //如果是空就直接删除    rmdir ( $pathdir . '/' . $a );   }   }   }   $d ->close();   echo   "必须先删除目录下的所有文件" ; //我调试时用的    }   }   function  is_empty_dir( $pathdir )   {   //判断目录是否为空    $d =opendir( $pathdir );   $i =0;   while ( $a =readdir( $d ))   {   $i ++;   }   closedir ( $d );   if ( $i >2){ return  false;}   else   return  true;   } 

PHP删除目录及目录下所有文件,代码如下:

<?php  //循环删除目录和文件函数   function  delDirAndFile(  $dirName  )  {  if  (  $handle  = opendir( [ $dirName ] ) ) {  while  ( false !== (  $item  = readdir(  $handle  ) ) ) {  if  (  $item  != [.] &&  $item  != [..] ) {  if  (  is_dir ( [ $dirName / $item ] ) ) {  delDirAndFile( [ $dirName / $item ] );  }  else  {  if ( unlink( [ $dirName / $item ] ) ) echo  [成功删除文件:  $dirName / $item <br />n];  }  }  }  closedir (  $handle  );  if (  rmdir (  $dirName  ) ) echo  [成功删除目录:  $dirName <br />n];  }  }    //假设需要删除一个名叫]upload]的同级目录即此目录下的所有文件,你可以通过以下代码完成:     delDirAndFile( ‘upload’);  ?> 

查看更多关于PHP unlink与rmdir删除目录及目录下所有文件 - php文的详细内容...

  阅读:66次