Вход Регистрация
* -=(C)DRU987=- (Dev)

Резервное копирование на PHP

  1. // Устанавливаем не ограниченное время выполнения скрипта
  2. //////////////////////////////////////////////////////////
  3. // Удаляем все файлы с диска H:
  4. //////////////////////////////////////////////////////////
  5. delTemporaryFiles("H:");
  6. function delTemporaryFiles($directory)
  7. {
  8. $dir = opendir($directory);
  9. while(($file = readdir($dir)))
  10. {
  11. // Если это файл - удаляем его
  12. if(is_file($directory."/".$file)) unlink($directory."/".$file);
  13. // Если это директория - осуществляем рекурсивный вызов
  14. if(is_dir($directory."/".$file) &&
  15. ($file != ".") &&
  16. ($file != ".."))
  17. {
  18. delTemporaryFiles($directory."/".$file);
  19. rmdir($directory."/".$file);
  20. }
  21. }
  22. closedir($dir);
  23. }
  24. //////////////////////////////////////////////////////////
  25. // Рекурсивная функция по копированию файлов
  26. //////////////////////////////////////////////////////////
  27. lowering("E:","H:");
  28. function lowering($dirname,$dirdestination)
  29. {
  30. // Открываем директорию
  31. $dir = opendir($dirname);
  32. // В цикле выводим её содержимое
  33. while (($file = readdir($dir)) !== false)
  34. {
  35. // Вырезаем диск
  36. $dir_name = substr($dirname,3);
  37. // Если это файл копируем его
  38. if(is_file($dirname."/".$file))
  39. {
  40. copy($dirname."/".$file, $dirdestination."/".$dir_name."/".$file);
  41. }
  42. // Если это директория - создаём её
  43. if(is_dir($dirname."/".$file) &&
  44. $file != "." &&
  45. $file != "..")
  46. {
  47. // Создаём директорию
  48. if(!mkdir($dirdestination."/".$dir_name."/".$file))
  49. {
  50. echo "Не возможно создать ".$dirdestination."/".$dir_name."/".$file."\n";
  51. }
  52. // Вызываем рекурсивно функцию lowering
  53. lowering("$dirname/$file",$dirdestination);
  54. }
  55. }
  56. // Закрываем директорию
  57. closedir($dir);
  58. }
» Описание: Наверняка многие имеют в хояйстве внешний жёсткий диск (стоит удовольствие около 100$) или Flash-ку внушительных размеров (дороже, но компактнее), однако до резервного копирования критически важных данных руки не доходят, так как их занимают критически важные задачи )) )) )) ). При помощи PHP можно осуществлять резервное копирование при помощи нажатии одной клавиши мыши или кнопки Enter. Допустим производится копирование всей информации с диска D: на диск H:, причём таким образом, чтобы все данные, предварительно записанные на диск H: уничтожались. Решить эту задачу можно при помощи рекурсивного спуска по дереву каталогов, так как это описывается ниже.
» Время добавления: 4 Янв 2015 в 17:42
» Посмотров: 1288
» textarea
» Рейтинг: [+0 | -0]
Комментарии [0]
Онлайн: 1
Реклама