文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP之函数扩展:整目录拷贝XCOPY()

PHP之函数扩展:整目录拷贝XCOPY()

时间:2007-02-17  来源:PHP爱好者

想必大家都用过DOS的XCOPY吧,XCOPY的一次复制整个目录所以文件结是不是很爽
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
啊,而PHP提供的文件操作比较简单,象copy()每次只能复制一个文件,所以我在
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
此基础上扩展了这个函数!也就是象DOS 的 “XCOPY FEIY FEIY2”(全盘拷贝)
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
我顺便加了个开关变量,可以实现 DOS 的 copy feiy/*.* feiy2(既只复目录下
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
所有文件)
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
需要用到的函数:
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
copy() mkdir() is_dir() dir() read()
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
以下是源代码:
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
==========================
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
<?php
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
//copy a direction's all files to another direction
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
function xCopy($source,$destination ,$child){
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
//用法:
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
// xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
// xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
//参数说明:
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
// $source:源目录名
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
// $destination:目的目录名
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
// $child:复制时,是不是包含的子目录
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
if(!is_dir($source)){
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
echo("Error:the $source is not a direction!");
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
return 0;
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
if(!is_dir($destination)){
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
mkdir($destination,0777);
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
$handle=dir($source);
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
while($entry=$handle->read()) {
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
if(($entry!=".")&&($entry!="..")){
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
if(is_dir($source."/".$entry)){
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
if($child)
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
xCopy($source."/".$entry,$destination."/".$entry,$child);
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
else{
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
copy($source."/".$entry,$destination."/".$entry);
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
return 1;
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
}
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE

chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
?>
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
============================
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
以上在win98+apache1.3+php4.03平台测试通过!
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
如有建议或疑问请和飞扬网络学院联系(http://feiyschool.y365.com)
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
或者发EMAIL到[email protected]
chin a i t p oe er . co mtjMdAlm42jL7tXEsfIpibUXxE
请您多多赐教,谢谢!
php爱好 者站 http://www.phpfans.net php基础|php进阶|php模板.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载