欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

文件夹复制 (win&linux皆可)

程序员文章站 2022-04-20 22:10:58
...
/**
* 复制文件夹 
eg:将D:/wwwroot/下面wordpress复制到
D:/wwwroot/www/explorer/0000/del/1/
末尾都不需要加斜杠,复制到地址如果不加源文件夹名,
就会将wordpress下面文件复制到D:/wwwroot/www/explorer/0000/del/1/下面
* $from = 'D:/wwwroot/wordpress';
* $to = 'D:/wwwroot/www/explorer/0000/del/1/wordpress';
*/
function copy_dir($source, $dest){
$result = false;
if (is_file($source)) {
if ($dest[strlen($dest)-1] == '/') {
$__dest = $dest . "/" . basename($source);
} else {
$__dest = $dest;
} 
$result = @copy($source, $__dest);
//echo iconv( $config['app_charset'],$config['system_charset'], $source);
@chmod($__dest, 0755);
}elseif (is_dir($source)) {
if ($dest[strlen($dest)-1] == '/') {
$dest = $dest . basename($source);
@mkdir($dest);
@chmod($dest, 0755);
} else {
@mkdir($dest, 0755);
@chmod($dest, 0755);
} 
$dirHandle = opendir($source);
while ($file = readdir($dirHandle)) {
if ($file != "." && $file != "..") {
if (!is_dir($source . "/" . $file)) {
$__dest = $dest . "/" . $file;
} else {
$__dest = $dest . "/" . $file;
} 
$result = copy_dir($source . "/" . $file, $__dest);
} 
} 
closedir($dirHandle);
} else {
$result = false;
} 
return $result;
}