php如何复制非空文件夹

首先思路就是:
1.得注意是文件才可以复制文件夹的话,是只能新建一个文件夹,然后把当前文件夹里面的文件放进去
2.所以遇到文件夹就复制,遇到文件就copy

define(DIR_XIE,'/');
//源路径
$srcdir = 'uploads';
//复制的目标路径
$dstdir = 'admin';
function copydir($srcdir,$dstdir){
     
    //看可有文件
    if(!file_exists($dstdir)){
     
        mkdir($dstdir);
    }
    //先判断是否是目录,如果不是目录的话,是文件的话就直接用copy复制过去好了
    if(is_dir($srcdir)){
     
        //扫描一下列出指定路径中的文件和目录
        $files = scandir($srcdir);
        foreach ($files as $file){
     
            //还要去掉. 和 ..
            if($file != '.' && $file != '..'){
     
                //那么现在带有目录或者文件名的具体目录就出来了
                //源路径
                $srcpath = $srcdir.DIR_XIE.$file;
                //目标路径
                $dstpath = $dstdir.DIR_XIE.$file;
                if(is_dir($srcpath)){
     
                	//如果是目录就使用递归
                    copydir($srcpath,$dstpath);
                }else{
     
                	//是文件的话就复制
                    copy($srcpath,$dstpath);
                }
            }
        }
        //删除源文件夹
        deldir($srcdir);
    }else if(is_file($srcdir)){
     
        //拷贝文件
        copy($srcdir,$dstdir);
    }else{
     
        echo '出错啦';
    }
}
copydir($srcdir,$dstdir);

php如何复制非空文件夹_第1张图片

你可能感兴趣的:(php开发,php)