php 匯出.sql檔案/mysqlDatabase Backup程式_PHP教程

來源:互聯網
上載者:User
php教程 匯出.sql檔案/mysql教程資料庫教程備份程式

$database='';//資料庫名
$options=array(
'hostname' => '',//ip地址
'charset' => 'utf8',//編碼
'filename' => $database.'.sql',//檔案名稱
'username' => '',
'password' => ''
);
mysql_connect($options['hostname'],$options['username'],$options['password'])or die("不能串連資料庫!");
mysql_select_db($database) or die("資料庫名稱錯誤!");
mysql_query("SET NAMES '{$options['charset']}'");
$tables = list_tables($database);
$filename = sprintf($options['filename'],$database);
$fp = fopen($filename, 'w');
foreach ($tables as $table) {
dump_table($table, $fp);
}
fclose($fp);
//下載sql檔案
$file_name=$options['filename'];
Header("Content-type:application/octet-stream");
Header("Content-Disposition:attachment;filename=".$file_name);
readfile($file_name);
//刪除伺服器上的sql檔案
unlink($file_name);
exit;
//擷取表的名稱
function list_tables($database)
{
$rs = mysql_list_tables($database);
$tables = array();
while ($row = mysql_fetch_row($rs)) {
$tables[] = $row[0];
}
mysql_free_result($rs);
return $tables;
}
//匯出資料庫
function dump_table($table, $fp = null)
{
$need_close = false;
if (is_null($fp)) {
$fp = fopen($table . '.sql', 'w');
$need_close = true;
}
$a=mysql_query("show create table `{$table}`");
$row=mysql_fetch_assoc($a);fwrite($fp,$row['Create Table'].';');//匯出表結構
$rs = mysql_query("SELECT * FROM `{$table}`");
while ($row = mysql_fetch_row($rs)) {
fwrite($fp, get_insert_sql($table, $row));
}
mysql_free_result($rs);
if ($need_close) {
fclose($fp);
}
}
//匯出表資料
function get_insert_sql($table, $row)
{
$sql = "INSERT INTO `{$table}` VALUES (";
$values = array();
foreach ($row as $value) {
$values[] = "'" . mysql_real_escape_string($value) . "'";
}
$sql .= implode(', ', $values) . ");";
return $sql;
}?>

http://www.bkjia.com/PHPjc/630883.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/630883.htmlTechArticlephp教程 匯出.sql檔案/mysql教程資料庫教程備份程式 ?php $database='';//資料庫名 $options=array( 'hostname' = '',//ip地址 'charset' = 'utf8',//編碼 'filename'...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.