合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
~~~ /** * 拷贝目录及下面所有文件 * * @param string $fromdir 原路径 * @param string $todir 目标路径 * @return string 如果目标路径不存在则返回false,否则为true */ function dir_copy($fromdir, $todir) { $fromdir = dir_path($fromdir); $todir = dir_path($todir); if (!is_dir($fromdir)) return FALSE; if (!is_dir($todir)) dir_create($todir); $list = glob($fromdir.'*'); if (!empty($list)) { foreach($list as $v) { $path = $todir.basename($v); if(is_dir($v)) { dir_copy($v, $path); } else { copy($v, $path); @chmod($path, 0777); } } } return TRUE; } ~~~ ~~~ /** * 复制文件 * * @param string $src * @param string $dst * * @return bool */ if ( ! function_exists('copy_file')) { function copy_file(string $src, string $dst): bool { $dir = dirname($dst); if ( ! is_dir($dir)) { mk_dirs($dir); } return @copy($src, $dst); } } ~~~ ~~~ if ( ! function_exists('recursive_dir_copy')) { /** * 文件夹文件(深)拷贝 * * @param string $src 来源文件夹 * @param string $dst 目的地文件夹 * * @return bool */ function recursive_dir_copy($src, $dst) { if (empty($src) || empty($dst)) { return false; } $dir = opendir($src); mk_dirs($dst); while (false !== ($file = readdir($dir))) { if (($file != '.') && ($file != '..')) { $srcRecursiveDir = $src.DIRECTORY_SEPARATOR.$file; $dstRecursiveDir = $dst.DIRECTORY_SEPARATOR.$file; if (is_dir($srcRecursiveDir)) { recursive_dir_copy($srcRecursiveDir, $dstRecursiveDir); } else { copy($srcRecursiveDir, $dstRecursiveDir); } } } closedir($dir); return true; } } ~~~