Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: backup на файлах
Форумы портала PHP.SU » » Работа с файловой системой и файлами » backup на файлах

Страниц (1): [1]
 

1. просто даня - 02 Апреля, 2012 - 19:01:38 - перейти к сообщению
для начало скрипт:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(!isset($_GET['copy_dir'])) {
  4.  
  5. function rec_copy ($from_path, $to_path) {
  6.  mkdir($to_path, 0777);
  7.  $this_path = getcwd();
  8.  if (is_dir($from_path)) {
  9.   chdir($from_path);
  10.   $handle=opendir('.');
  11.   while (($file = readdir($handle))!==false) {
  12.    if (($file != ".") && ($file != "..") && ($file != "backup")) {
  13.     if (is_dir($file)) {
  14.      rec_copy ($from_path.$file."/", $to_path.$file."/");
  15.      chdir($from_path);
  16.     }
  17.     if (is_file($file)) copy($from_path."/".$file, $to_path.$file);
  18.    }
  19.   }
  20.   closedir($handle);
  21.  }
  22. }
  23.  
  24. $fet = "../";
  25. $to = "cbr-admin/backup/".date("d.m.Y")."/";
  26. $dir = scandir($fet);
  27. foreach($dir as $file) {
  28. if(($file != ".") && ($file != "..")) {
  29. rec_copy($fet.$file, $fet.$to);
  30. echo 'Копируется '.$file;
  31. }
  32. }
  33.  
  34. if(is_dir($fet.$to)) {
  35. echo 'Резервное копирование сайта законченно<br><a href="?copy_dir">backups show / показать резервные копии</a>';
  36. }
  37.  
  38. }
  39.  
  40.  
  41. if(isset($_GET['copy_dir'])) {
  42.  
  43. $f1 = scandir('backup/');
  44. foreach($f1 as $f2) {
  45. if(is_dir('backup/'.$f2)) {
  46. if (($f2 != ".") && ($f2 != "..")) {
  47. echo '<a href="backup/'.$f2.'">'.$f2.'</a><br>';
  48. }
  49. }
  50. }
  51.  
  52. }
  53. ?>
  54.  


это все скрипт резервной копии сайта.

копирует он почти нормально, только одна проблема.
копирует он все файлы из всех папок только в одну папку, и все подпапки тоже в одну и туже папку, а в подпапки файлы не капирует. Как быть? поможите?


неправильно работает эта функция:
PHP:
скопировать код в буфер обмена
  1.  
  2. function rec_copy ($from_path, $to_path) {
  3.  mkdir($to_path, 0777);
  4.  $this_path = getcwd();
  5.  if (is_dir($from_path)) {
  6.   chdir($from_path);
  7.   $handle=opendir('.');
  8.   while (($file = readdir($handle))!==false) {
  9.    if (($file != ".") && ($file != "..") && ($file != "backup")) {
  10.     if (is_dir($file)) {
  11.      rec_copy ($from_path.$file."/", $to_path.$file."/");
  12.      chdir($from_path);
  13.     }
  14.     if (is_file($file)) copy($from_path."/".$file, $to_path.$file);
  15.    }
  16.   }
  17.   closedir($handle);
  18.  }
  19. }
  20.  


программисты и знатоки PHP, помогите пожалуйста...
тема перемещена в вопросы новечков

 

Powered by ExBB FM 1.0 RC1