php删除 复制文件夹及其文件夹下所有文件

本文介绍两个实用的PHP函数:xCopy用于递归复制目录及其内容(可选择是否包含子目录),deldir用于递归删除目录及其内容。这两个函数能够帮助开发者更好地处理文件系统操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
/*复制xCopy函数用法:    
  *   xCopy("feiy","feiy2",1):拷贝feiy下的文件到   feiy2,包括子目录    
  *   xCopy("feiy","feiy2",0):拷贝feiy下的文件到   feiy2,不包括子目录    
  *参数说明:    
  *   $source:源目录名    
  *   $destination:目的目录名    
  *   $child:复制时,是不是包含的子目录
  */
function xCopy($source, $destination, $child){
    if (!file_exists($destination))
    {
        if (!mkdir(rtrim($destination, '/'), 0777))
        {
        //$err->add($_LANG['cannt_mk_dir']);
        return false;
        }
        @chmod($destination, 0777);
     }
if(!is_dir($source)){  
return 0;
}
if(!is_dir($destination)){
mkdir($destination,0777);  
}
$handle=dir($source);
while($entry=$handle->read()){
if(($entry!=".")&&($entry!="..")){
if(is_dir($source."/".$entry)){
if($child)
xCopy($source."/".$entry,$destination."/".$entry,$child);
}
else{
copy($source."/".$entry,$destination."/".$entry);
}
}    
}    
return 1;
}


/*删除deldidr函数用法:    
  *  deldidr("feiy"):删除feiy,包括子目录      
  *参数说明:    
  *   $dir:要删除的目录名    
  */
function deldir($dir) {
if (!file_exists($dir)){return true;
}else{@chmod($dir, 0777);}
  $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;
  }
}
?>

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/huangguaxuan/archive/2008/08/21/2805769.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值