php xcopy,模拟xcopy的函数实例代码

这段PHP代码模拟了DOS命令XCOPY的功能,能够递归地复制一个目录及其子目录下的所有文件。函数xCopy接受三个参数:源目录、目标目录和一个标志,决定是否复制子目录。如果标志为1,则会递归复制子目录;否则,只复制源目录本身文件。同时,代码中包含了错误检查和文件复制操作。

XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件;使用时源盘符、源目标路径名、源文件名至少指定一个;选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;选用/V参数时,对拷贝的扇区都进行较验,但速度会降低。<?php

/*************************************

* 系统名称:模拟xcopy的函数

* 程序功能:模拟xcopy的函数

*************************************/

?>

//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;

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值