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

php删除与复制文件夹及其文件夹下所有文件的实现代码

程序员文章站 2024-01-15 20:39:22
...

最近写代码,需要个复制文件夹与及其文件夹下所有文件的功能,有时候需要删除,就可以用这个函数了,通过xcopy与deldir的自定义函数,确实方便多了,特分享下

代码如下:
/*复制xCopy函数用法:
* xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录
* xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录
*参数说明:
* $source:源目录名
* $destination:目的目录名
* $child:复制时,是不是包含的子目录
*/
function xCopy($source, $destination, $child){
if (!file_exists($destination))
{
if (!mkdir(rtrim($destination, '/'), 0777))
{
//$err->add($_LANG['cannt_mk_dir']);
return false;
}
@chmod($destination, 0777);
}
if(!is_dir($source)){
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;
}


/*删除deldir函数用法:
* deldidr("feiy"):删除feiy,包括子目录
*参数说明:
* $dir:要删除的目录名
*/
function deldir($dir) {
if (!file_exists($dir)){return true;
}else{@chmod($dir, 0777);}
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!="." && $file!="..") {
$fullpath=$dir."/".$file;
if(!is_dir($fullpath)) {
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}

closedir($dh);

if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?>