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

    echo 
'<div class="menu_razd">Выберите таблицы</div>';
    if (!empty(
$_POST['table'])) {
        
$file 'engine/files/backup/mysql/backup.' . (count($_POST['table']) === current($_POST['table']) . '.date.' null) . date('d.m.y.') . 'token.'mt_rand(99,
                                                                                                                                                              
999) . '.sql';

        
$backup null;

        foreach (
$_POST['table'] as $table)
        {
            
$backup .= 'DROP TABLE IF EXISTS `' $table '`;' PHP_EOL;
            
$row mysqli_fetch_row(mysqli_query($sql->db'SHOW CREATE TABLE `' $table '`'));
            
$backup .= $row[1] . ';' PHP_EOL PHP_EOL PHP_EOL;
            if (
Core::form('with_data'))
            {
                
$res mysqli_query($sql->db'SELECT * FROM `' $table '`');
                if (
count($res) > 0)
                {
                    while ((
$row mysqli_fetch_assoc($res)))
                    {
                        
$keys implode("`, `"array_keys($row));
                        
$values array_values($row);
                        foreach (
$values as $k => $v)
                        {
                            
$values[$k] = my_esc($v);
                            
$values[$k] = preg_replace("#(n|r){1,}#"'n'$values[$k]);
                        }
                        
$values2 implode("', '"$values);
                        
$values2 "'" $values2 "'";
                        
$backup .= "INSERT INTO `$table` (`$keys`) VALUES ($values2);rn";
                    }
                    
$backup .= PHP_EOL PHP_EOL;
                }
            }
        }

        
file_put_contents($file$backup);
        
Core::msg_show('Backup успешно создан!''msg');
    }

    echo 
'<div class="link">' . (isset($_GET['get']) ? '<a href="?">Снять все</a>' '<a href="?get">Отметить все</a>') . '</div>';
    
$tab mysqli_query($sql->db'SHOW TABLES');
    echo 
'<form action="?backup" method="post">';
    echo 
'<label><input type="checkbox" checked="checked" name="with_data" value="with_data"/> Экспорт содержимого</label><br />';
    while (
$table mysqli_fetch_assoc($tab)) {
        echo 
'<label><input type="checkbox" ' . (isset($_GET['get']) ? 'checked="checked"' '') . ' name="table[]" value="' $table['Tables_in_' $set['mysql_db_name']] . '"/> ' $table['Tables_in_' $set['mysql_db_name']] . '</label><br />';
    }

?>
    <input type="submit" name="create" value="Начать"/></form>
    <div class="menu_razd">См. также</div>
    <a href='/admin/backup/files.php'>
        <div class="link">Резервное копирование файлов</div>
    </a>
    <a href='/admin/backup/list.php'>
        <div class="link">Список Backup</div>
    </a>
    <a href='/admin/'>
        <div class="link">Админка</div>
    </a>
<?
    
require incDir 'foot.php';
Онлайн: 0
Реклама