1.根据时间备份
2.同一秒不能有重复
1 <?php
2 function recurse_copy($src,$dst) { // 原目录,复制到的目录
3 //打开源目录
4 $dir = opendir($src);
5 //创建目标目录
6 @mkdir($dst);
7 //读取目录下的所有文件名称
8 while(( $file = readdir($dir))!==false ) {
9 //判断文件名称是否合法
10 if (( $file != '.' ) && ( $file != '..' )) {
11 if ( is_dir($src . '/' . $file) ) {
12 recurse_copy($src . '/' . $file,$dst . '/' . $file);
13 }
14 else {
15 copy($src . '/' . $file,$dst . '/' . $file);
16 }
17 }
18 }
19 closedir($dir);
20 return true;
21 }
22 # 接收原文件名称
23 $src=$_POST['src'];
24 # 复制到什么文件
25 $dst=$_POST['dst'];
26 # 获得当前时间
27 $date=date("Y-m-j G:i:s");
28 # 判断该文件夹是否存在/如果存在则是重复了,同一秒不可能重复
29 if(file_exists("/var/www/php-poject/$dst-$date")){
30 echo "No restart<br />";
31 }else{
32 # 否则复制文件
33 if(recurse_copy("/var/www/php-poject/$src","/var/www/php-poject/$dst-$date")){
34 echo "backup ok<br />";
35 }
36 }
37 ?>
提交的表单:
<form action="recurse_copy.php" method="post" >
<input name="src" type="text">
<input name="dst" type="text">
<input type="submit" value="Submit" />
</form>