永发信息网

php复制目录下的所有文件及文件夹

答案:3  悬赏:20  手机版
解决时间 2021-04-01 18:05
  • 提问者网友:温柔港
  • 2021-04-01 07:31
php复制目录下的所有文件及文件夹
最佳答案
  • 五星知识达人网友:大漠
  • 2021-04-01 09:04
PHP复制文件夹及下面所有文件,参考如下:
function xCopy($source, $destination, $child){
  //用法:
  // xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录
  // xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录
  //参数说明:
  // $source:源目录名
  // $destination:目的目录名
  // $child:复制时,是不是包含的子目录

  if(!is_dir($source)){
    echo("Error:the $source is not a direction!");
    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;
}

?>
全部回答
  • 1楼网友:舊物识亽
  • 2021-04-01 11:18
遍历某文件夹下的所有文件和文件夹,并且把所以匹配的文件复制到同一目录。
$dir="/www/pooy/baike";
static $dir_list =0;
static $file_list =0;
function listfile($dir){
global $dir_list,$file_list;
$d = dir($dir);
while ( $entry = $d->read()) {
$tem_curnt=$dir."/".$entry;
//echo $tem_curnt."
";
if($entry=="." || $entry=="..") continue;
if ( is_dir( $tem_curnt)) {
listfile($tem_curnt);
echo "文件夹 ".$tem_curnt."
";
$dir_list++;
}
elseif ( is_file($tem_curnt))
{
echo "文件".$tem_curnt."
";
_copy($tem_curnt,"/www/pooy/bk");
$file_list++;
}
}
$d->close();
}
function _copy($src, $dst) {
if ( ! is_dir($src)) {
if ( ! copy($src, $dst)) {
return _log('Unable to copy files', $src);
}
} else {
mkdir($dst);
$ls = scandir($src);
for ($i = 0; $i < count($ls); $i++) {
if ($ls[$i] == '.' OR $ls[$i] == '..') continue;
$_src = $src.'/'.$ls[$i];
$_dst = $dst.'/'.$ls[$i];
if ( is_dir($_src)) {
if ( ! _copy($_src, $_dst)) {
return _log('Unable to copy files', $_src);
}
} else {
if ( ! copy($_src, $_dst)) {
return _log('Unable to copy files', $_src);
}
}
}
}
return TRUE;
}listfile($dir);
echo "目录数:".$dir_list;
echo"
";
echo"文件数:".$file_list;
上一页:PHP时间戳和日期相互转换 下一页:PHP中生成横状百分比图片实例
相关内容
2014.10.10python获取某目录下的所有文件和子目录-os.listdir
2014.07.17python中批量移动目录所有文件函数
2014.07.09PHP自定义遍历目录下所有文件dir(),readdir()函数
2013.12.17php读取指定目录文件夹下所有文件名
2013.05.31python读取指定目录下所有文件
2012.12.20PHP unlink与rmdir删除目录及目录下所有文件
2012.03.15php批量替换内容或指定目录下所有文件内容
2011.04.08php 获取目录下所有文件实现代码
2010.10.21php 目录列出所有文件
2010.10.09php递归删除目录所有文件
  • 2楼网友:醉吻情书
  • 2021-04-01 10:20
这个直接用下面这个函数就可以了,多看下手册,很多例子的啊。
function recurse_copy($src,$dst) { // 原目录,复制到的目录
$dir = opendir($src);
@mkdir($dst);
while(false !== ( $file = readdir($dir)) ) {
if (( $file != '.' ) && ( $file != '..' )) {
if ( is_dir($src . '/' . $file) ) {
recurse_copy($src . '/' . $file,$dst . '/' . $file);
}
else {
copy($src . '/' . $file,$dst . '/' . $file);
}
}
}
closedir($dir);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯