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>