想必大家都用过DOS的XCOPY吧,XCOPY的一次复制整个目录所以文件结是不是很爽
啊,而PHP提供的文件操作比较简单,象copy()每次只能复制一个文件,所以我在
此基础上扩展了这个函数!也就是象DOS 的 “XCOPY FEIY FEIY2”(全盘拷贝)
我顺便加了个开关变量,可以实现 DOS 的 copy feiy/*.* feiy2(既只复目录下
所有文件)
需要用到的函数:
copy() mkdir() is_dir() dir() read()
以下是源代码:
==========================
<?php
//copy a direction's all files to another direction
function xCopy($source,$destination ,$child){
//用法:
// xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录
// xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录
//参数说明:
// $source:源目录名
// $destination:目的目录名
// $child:复制时,是不是包含的子目录
if(!is_dir($source)){
echo("Error:the $source is not a direction!");
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;
}
?>
============================
以上在win98+apache1.3+php4.03平台测试通过!
如有建议或疑问请和飞扬网络学院联系(http://feiyschool.y365.com)
或者发EMAIL到feiyhy@sina.com.cn
请您多多赐教,谢谢!