PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

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

> Найдено сообщений: 3
Moxa Отправлено: 12 Июня, 2016 - 23:15:24 • Тема: Репликация папок/резервное копирование • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 50
вероятно, необходимо создавать массив, куда передавать файлы, с датой создания отличных от уже имеющихся в папке-приемнике, и потом их уже и копировать с режимом overwrite ?
только начинаю в пхп.

Спасибо.
Moxa Отправлено: 12 Июня, 2016 - 12:21:28 • Тема: Репликация папок/резервное копирование • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 50
Спасибо.

простите, не до конца понятно Закатив глазки
Moxa Отправлено: 12 Июня, 2016 - 09:36:26 • Тема: Репликация папок/резервное копирование • Форум: Напишите за меня, пожалуйста

Ответов: 3
Просмотров: 50
Всем привет.

Задача - периодическая репликация папок, т.е. копирование только измененного или нового содержимого. Есть рабочий php скрипт:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. function dircpy($source, $dest, $overwrite = false){
  4. if(!is_dir($dest))
  5. mkdir($dest);
  6. if($handle = opendir($source)){
  7. while(false !== ($file = readdir($handle))){
  8. if($file != '.' && $file != '..'){
  9. $path = $source . '/' . $file;
  10. if(is_file($path)){
  11. if(!is_file($dest . '/' . $file) || $overwrite)
  12. if(!@copy($path, $dest . '/' . $file)){
  13. echo '<font color="red">File ('.$path.') could not be copied, likely a permissions
  14. problem.</font>';
  15. }
  16. } elseif(is_dir($path)){
  17. if(!is_dir($dest . '/' . $file))
  18. mkdir($dest . '/' . $file); // make subdirectory before subdirectory is copied
  19. dircpy($path, $dest . '/' . $file, $overwrite); //recurse!
  20. }
  21. }
  22. }
  23. closedir($handle);
  24. }
  25. }
  26.  
  27.  
  28. $zz="D:\JAVA\-from" ;
  29. $zx="L:\-to" ;
  30. dircpy($zz, $zx, $overwrite = false);
  31.  
  32. ?>
  33.  


проблема в том, что при вызове функции с параметром
$overwrite = false - во время копирования игнорируются измененные файлы с тем же именем, а при
$overwrite = true - то копируется с перезаписью тотально всё содержимое, в том числе уже имеющееся в целевой папке; папка огромна и длительный проход колоссального ненужного трафика - неприемлем.

Спасибо.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB