Просмотр файла admin/backup/files.php

Размер файла: 3.09Kb
  1. <?php
  2. include '../../engine/includes/start.php';
  3. if (!$creator)
  4. Core::stop();
  5. $set['title']='Резервное копирование файлов';
  6. require incDir.'head.php';
  7. Core::get('text.class', 'classes');
  8. //@set_time_limit(20);
  9.  
  10. echo '<div class="menu_razd">Выбор файлов</div>';
  11. echo '<div class="post"><img src="/style/users/icons/1.png"/> <a href="/pages/user.php?id=2">Система</a><br />Резервное копирование долгий и ресурсоемкий процесс, если бекап не создается, раскоментируйте 9-строку <b>set_time_limit(20);</b>. На бесплатных хостингах, резервное копирование является платным, на платных нет смысла делать =)</div>';
  12. $arr=array();
  13. if (isset($_POST['file_zip']))
  14. {
  15. foreach ( $_POST['file_zip'] as $file )
  16. {
  17. $arr[] = H . $file;
  18. }
  19. $name = empty($_POST['name']) ? 'Backup_'.mt_rand(12,1222) : $_POST['name'];
  20. if (is_file(H.'engine/files/backup/files/'.$name.'.zip') and empty($_POST['delcopy']) )
  21. {
  22. echo 'Архив '. $name .'.zip уже есть!<br/><a href="backup.php">Повторить</a>';
  23. require incDir.'foot.php';
  24. }
  25. elseif (is_file(H.'engine/files/backup/files/'.$name.'.zip'))
  26. {
  27. echo 'Архив '. $name .'.zip заменен<br/>';
  28. }
  29.  
  30. Core::get('zip', 'classes');
  31. $create = new PclZip(H.'engine/files/backup/files/'.$name.'.zip');//var_dump($arr);
  32. //$create -> ($arr, PCLZIP_OPT_REMOVE_PATH, '\\');
  33. Core::msg_show($create -> create($arr, PCLZIP_OPT_REMOVE_PATH, H) == 0 ? $create -> errorInfo(true) : 'Архив создан!');
  34. unset($create, $file);
  35. }
  36.  
  37. echo '<form method="post"><input type="text" name="name" size="40" value="Backup__'.date("d_m_y").'__'.(mt_rand(0,999)).'"/><br/>';
  38.  
  39. $dir = opendir('../../');
  40.  
  41. echo isset($_GET['get']) ? '<a href="?">Снять все</a>':'<a href="?get">Отметить все</a>';
  42.  
  43. while ($file = readdir($dir))
  44. {
  45. if ($file != '.' && $file != '..')
  46. {
  47. echo '
  48. <div class="link"><label>
  49. <input type="checkbox" '.(isset($_GET['get'])?'checked="checked"':'').' name="file_zip[]" value="'. $file .'"/> '.$file .' ('. (is_file(H . $file) ? text::size_data(filesize(H.$file)) : 'папка' ) .')
  50. </label></div>';
  51. }
  52. }
  53. closedir($dir);
  54.  
  55. ?>
  56. <div class="post"><input type="checkbox" checked="checked" name="delcopy" value="1"/> Заменить при совпадении имен</div>
  57. <input type="submit" name="create" value="Архивировать" /></form>
  58. <div class="menu_razd">См. также</div>
  59. <a href='/admin/backup/list.php'><div class="link">Список Backup</div></a>
  60. <a href='mysql.php'><div class="link">Резервное копирование базы данных</div></a>
  61. <a href='/admin/'><div class="link">Админка</div></a>
  62. <?
  63. require incDir.'foot.php';