HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 17.03.2009, 17:32
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
С нами: 9963746

Репутация: 392
По умолчанию

скрипт бекапа БД, при переходе на него, предлагает скачать файл с дампом, если кодировка соединения и БД не совпадает раскомментируйте 18-19 строку и укажите кодировку базы
PHP код:
<?php

/**
 * @author Zedi 
 * @copyright 2009
 */
 
$dbhost 'localhost';
$dbuser 'root';
$dbpass '';
$dbname 'chat';

$connect mysql_connect($dbhost$dbuser$dbpass) or die("Не могу соединиться с MySQL сервером!<br>" .
    
mysql_error());
$db mysql_select_db($dbname) or die("Базы данных не существует!<br>" .
    
mysql_error());

#$sql = "SET NAMES utf8";
#$result = mysql_query($sql, $connect);

$filename "dump_" date('Y-m-d_H-i-s_') . rand(0100) . $dbname ".sql";
$ext "sql";
$mime_type "'application/octet-stream";
$now gmdate('D, d M Y H:i:s') . ' GMT';

header('Content-Type: ' $mime_type);
header('Expires: ' $now);
header('Content-Disposition: inline; filename="' $filename '"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');

$sql 'SHOW TABLE STATUS FROM `' $dbname "`";
$query mysql_query($sql$connect);
$n mysql_num_rows($query);
$total_size 0;
$dump '';
for (
$i 0$i $n$i++)
{
    
$array_tables mysql_fetch_array($query);
    
$tname $array_tables[0];
    
$sql_table "SHOW CREATE TABLE `{$tname}`";
    
$query_table mysql_query($sql_table$connect);
    
$table mysql_fetch_array($query_table);
    
$sql_data "SELECT * FROM `{$tname}`";
    
$result mysql_query($sql_data$connect);
    
$c_data mysql_num_rows($result);
    
$dump .= $table[1] . ";\n";
    if (
$c_data)
        
$dump .= "INSERT INTO `{$tname}` VALUES";

    
$sql_columns "SHOW COLUMNS FROM `{$tname}`";
    
$query_columns mysql_query($sql_columns$connect);
    
$c mysql_num_rows($query_columns);
    
$fields = array();
    for (
$k 0$k $c$k++)
    {
        
$column mysql_result($query_columns$k0);
        
$push array_push($fields$column);
    }
    
$p 0;
    for (
$g 0$g $c_data$g++)
    {
        
$z 0;
        
$zp $zk '';
        if (
$p)
            
$zk ', ';
        
$dump .= $zk " \n(";
        foreach (
$fields as $fild)
        {
            if (
$z)
                
$zp ', ';
            
$dump .= $zp '\'' addslashes(mysql_result($result$g$fild)) . '\'';
            
$z++;
        }
        
$dump .= ")";
        
$p++;
    }
    if (
$c_data)
        
$dump .= "; \n";
    else
        
$dump .= "\n";

}
echo 
$dump;
die();
?>

Последний раз редактировалось Zedi; 17.03.2009 в 17:39..
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.