php自定义函数递归的复制带有多级子目录的目录,递归复制文件夹

分类:PHP函数库 时间:2021-11-18 浏览:14
0

php自定义函数递归的复制带有多级子目录的目录,递归复制文件夹

if (!function_exists('recurse_copy')) {
    /**
     * 自定义函数递归的复制带有多级子目录的目录,递归复制文件夹
     * 
     *
     * @param type $src 原目录
     * @param type $dst 复制到的目录
     */
    //参数说明:            
    //自定义函数递归的复制带有多级子目录的目录
    function recurse_copy($src, $dst)
    {
        $now = getTime();
        $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 {
                    if (file_exists($dst . DIRECTORY_SEPARATOR . $file)) {
                        if (!is_writeable($dst . DIRECTORY_SEPARATOR . $file)) {
                            // exit($dst . DIRECTORY_SEPARATOR . $file . '不可写');
                            return '网站目录没有写入权限,请调整权限';
                        }
                        // @unlink($dst . DIRECTORY_SEPARATOR . $file);
                    }
                    // if (file_exists($dst . DIRECTORY_SEPARATOR . $file)) {
                    //     @unlink($dst . DIRECTORY_SEPARATOR . $file);
                    // }
                    $copyrt = @copy($src . DIRECTORY_SEPARATOR . $file, $dst . DIRECTORY_SEPARATOR . $file);
                    if (!$copyrt) {
                        // echo 'copy ' . $dst . DIRECTORY_SEPARATOR . $file . ' failed';
                        return '网站目录没有写入权限,请调整权限';
                    }
                }
            }
        }
        closedir($dir);

        return true;
    }
}


本站文章如未注明出处则为原创,转载请注明出处,如有侵权请邮件联系站长

用户评论

评论前必须