Размер файла: 3.09Kb
<? php include '../../engine/includes/start.php' ; if (! $creator ) Core :: stop (); $set [ 'title' ]= 'Резервное копирование файлов' ; require incDir . 'head.php' ; Core :: get ( 'text.class' , 'classes' ); //@set_time_limit(20); echo '<div class="menu_razd">Выбор файлов</div>' ; 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>' ; $arr = array (); if ( isset ( $_POST [ 'file_zip' ])) { foreach ( $_POST [ 'file_zip' ] as $file ) { $arr [] = H . $file ; } $name = empty ( $_POST [ 'name' ]) ? 'Backup_' . mt_rand ( 12 , 1222 ) : $_POST [ 'name' ]; if ( is_file ( H . 'engine/files/backup/files/' . $name . '.zip' ) and empty ( $_POST [ 'delcopy' ]) ) { echo 'Архив ' . $name . '.zip уже есть!<br/><a href="backup.php">Повторить</a>' ; require incDir . 'foot.php' ; } elseif ( is_file ( H . 'engine/files/backup/files/' . $name . '.zip' )) { echo 'Архив ' . $name . '.zip заменен<br/>' ; } Core :: get ( 'zip' , 'classes' ); $create = new PclZip ( H . 'engine/files/backup/files/' . $name . '.zip' ); //var_dump($arr); //$create -> ($arr, PCLZIP_OPT_REMOVE_PATH, '\\'); Core :: msg_show ( $create -> create ( $arr , PCLZIP_OPT_REMOVE_PATH , H ) == 0 ? $create -> errorInfo ( true ) : 'Архив создан!' ); unset ( $create , $file ); } echo '<form method="post"><input type="text" name="name" size="40" value="Backup__' . date ( "d_m_y" ). '__' .( mt_rand ( 0 , 999 )). '"/><br/>' ; $dir = opendir ( '../../' ); echo isset ( $_GET [ 'get' ]) ? '<a href="?">Снять все</a>' : '<a href="?get">Отметить все</a>' ; while ( $file = readdir ( $dir )) { if ( $file != '.' && $file != '..' ) { echo ' <div class="link"><label> <input type="checkbox" ' .( isset ( $_GET [ 'get' ])? 'checked="checked"' : '' ). ' name="file_zip[]" value="' . $file . '"/> ' . $file . ' (' . ( is_file ( H . $file ) ? text :: size_data ( filesize ( H . $file )) : 'папка' ) . ') </label></div>' ; } } closedir ( $dir ); ?> <div class = "post" ><input type = "checkbox" checked = "checked" name = "delcopy" value = "1" /> Заменить при совпадении имен </div> <input type = "submit" name = "create" value = "Архивировать" /></form> <div class = "menu_razd" > См. также </div> <a href = '/admin/backup/list.php' ><div class = "link" > Список Backup </div></a> <a href = 'mysql.php' ><div class = "link" > Резервное копирование базы данных </div></a> <a href = '/admin/' ><div class = "link" > Админка </div></a> <? require incDir . 'foot.php' ;