1、例項化dbbak需要告訴它兩件事:資料伺服器在**($connectid)、備份到哪個目錄($backupdir):
require_once('dbbak.php');
require_once('tablebak.php');
$connectid = mysql_connect('localhost','root','123456');
$backupdir = 'data';
$dbbak = new dbbak($connectid,$backupdir);
2、然後就可以開始備份資料庫了,你不僅能夠指定備份那個資料庫,而且能詳細設定只備份那幾個表:
2.1如果你想備份mybbs庫中的所有表,只要這樣:
$dbbak->backupdb('mybbs');
2.2如果你只想備份mybbs庫中的board、face、friendlist表,可以用乙個一維陣列指定:
$dbbak->backupdb('mybbs',array('board','face','friendsite'));
2.3如果只想備份乙個表,比如board表:
$dbbak->backupdb('mybbs','board');
3,資料恢復:
對於2.1、2.1、2.3三種情況,只要相應的修改下語句,把backupdb換成restoredb就能實現資料恢復了:
$dbbak->restoredb('mybbs');
sql**
$dbbak->restoredb('mybbs',array('board','face','friendsite'));
php**
$dbbak->restoredb('mybbs','board');
php**
require_once('tablebak.php');
class dbbak
function backupdb($dbname,$tablename=null)
if(is_string($tablename))
if (is_array($tablename))
$this->_backupsometalbe($dbname,$tablename);
return;
}
}
function restoredb($dbname,$tablename=null)
if(is_string($tablename))
if (is_array($tablename))
$this->_restoresometalbe($dbname,$tablename);
return;
}
}
function _gettablelist($dbname)
mysql_free_result($result);
return $tablelist;
}
function _backupalltable($dbname)
}
function _backuponetable($dbname,$tablename)
function _backupsometalbe($dbname,$tablenamelist)
foreach ($tablenamelist as $tablename)
}
function _restorealltable($dbname)
//step2:start restore
foreach ($this->_gettablelist($dbname) as $tablename)
}
function _restoreonetable($dbname,$tablename)
function _restoresometalbe($dbname,$tablenamelist)
//step2:檢查是否存在資料表備份檔案 以及是否可寫:
foreach ($tablenamelist as $tablename)
//step3:start restore:
foreach ($tablenamelist as $tablename)
}
}
?>
複製** **如下:
<?php
//只有dbbak才能呼叫這個類
class tablebak
function backuptable($tablename)
function restoretable($tablename,$tablebakfile)
return true;
}
function _getfieldinfo($tablename)
mysql_free_result($result);
return $fieldinfo;
}
function _quoterow($fieldinfo,$row)
}
return $row;
}
function _backuptable($tablename,$tabledir)
mysql_free_result($result);
//關閉檔案:
fclose($handle);
return true;
}
}
?>
備份mybbs資料庫:
sql**
//example 1 backup:
require_once('dbbak.php');
require_once('tablebak.php');
$connectid = mysql_connect('localhost','root','123456');
$backupdir = 'data';
$dbbak = new dbbak($connectid,$backupdir);
$dbbak->backupdb('mybbs');
恢復mybbs資料庫:
複製** **如下:
require_once('dbbak.php');
require_once('tablebak.php');
$connectid = mysql_connect('loafshhcalhost','root','123456');
$backupdir = 'data';
$dbbak = new dbbak($connectid,$backupdir);
$dbbak->restoredb('mybbs');
本文標題: php實現mysql資料庫備份類
本文位址:
PHP備份MYSQL資料庫
require dirname file config.php 備份 if post get act 1 bak msg table.表資料備份完畢 file content iconv gbk utf 8 file content fp fopen path w or die 檔案不可寫,或不存在...
php備份mysql 資料庫
1 新建php檔案 header content type text html charset utf8 ini set max execution time 0 執行時間不限制 防止備份失敗 ini set memory limit 128m 設定記憶體 根據需求可以修改 date default...
用PHP實現XML備份Mysql資料庫
以下是在linux下通過apache php對mysql資料庫的備份的檔案 檔案一 listtable.php 檔案列出資料庫中的所有 供選擇備份 請選擇要備份的 con mysql connect localhost root xswlily lists mysql list tables emb...