Вход Регистрация
Файл: admin/backup/files.php
Строк: 83
<?php
    
include '../../engine/includes/start.php';
    if (!
$creator){
        
Core::stop();
    }
    
$set['title'] = 'Резервное копирование файлов';
    require 
incDir 'head.php';

    
//@set_time_limit(20);

    
echo '<div class="menu_razd">Выбор файлов</div>';
    echo 
'<div class="post"><img src="/style/users/icons/admin_man_on.png"/> <a href="/pages/user.php?id=2">Система</a><br />Резервное копирование долгий и ресурсоемкий процесс, если бекап не создается, раскоментируйте 9-строку <b>set_time_limit(20);</b>. На бесплатных хостингах, резервное копирование является платным, на платных нет смысла делать =)</div>';

    if (
Core::form('search_bom')){
        
$dir dirname(H);
        function 
recursive_dir($dir)
        {
            
$arr null;
            
$char "xEFxBBxBF";
            
$find 0;
            foreach (new 
DirectoryIterator($dir) as $fileInfo){
                if (
$fileInfo->isDot()){
                    continue;
                }
                if (
$fileInfo->isDir()){
                    
$find += recursive_dir($fileInfo->getPathname());
                }
                elseif (
$fileInfo->isFile()){
                    
//$arr .= '|' . $fileInfo->getPathname();
                    
$file = new SplFileObject($fileInfo->getPathname());
                    
$file->setMaxLineLen(4);
                    
$data $file->fgets();
                    if (
$char === $data){
                        
Core::msg_show('Обнаружен BOM в файле ' $fileInfo->getPathname());
                        
$find++;
                    }
                    
$file->fseek(0);
                }
            }
            return 
$find;
        }

        
$res recursive_dir(H);
        if (
$res == 0)
        {
            
Core::msg_show('Файлы с BOM не обнаружены''msg');
        }
    }

    
$arr = array();
    if (isset(
$_POST['file_zip'])){

        foreach (
$_POST['file_zip'] as $file){
            
$arr[] = $file;
        }

        
$name = empty($_POST['name']) ? 'Backup_' mt_rand(121222) : $_POST['name'];

        if (
is_file('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('engine/files/backup/files/' $name '.zip')){
            echo 
'Архив ' $name '.zip заменен<br />';
        }

        
$create = new PclZip('engine/files/backup/files/' $name '.zip'); //var_dump($arr);
        //$create -> ($arr, PCLZIP_OPT_REMOVE_PATH, '\');
        
Core::msg_show($create->create($arrPCLZIP_OPT_REMOVE_PATH,
                                       
H) == $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(0999)) . '"/><br/>';

    
$dir opendir('../../');

    echo isset(
$_GET['get']) ? '<a href="?" class="link">Снять все</a>' '<a href="?get" class="link">Отметить все</a>';
    echo 
'<div class="link"><label><input type="checkbox" name="search_bom" value="search_bom"/> Найти файлы с BOM сигнатурой</label></div>';
    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($file) ? Text::size_data(filesize($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';
Онлайн: 0
Реклама