首頁 >php教程 >php手册 >php删除与复制文件夹及其文件夹下所有文件的实现代码

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

WBOY
WBOY原創
2016-06-06 20:32:341394瀏覽

最近写代码,需要个复制文件夹与及其文件夹下所有文件的功能,有时候需要删除,就可以用这个函数了,通过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;
}
}
?>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn