/**
* 取得文件名
*/
public function get_fn($fn){
if(is_array($fn)){
foreach($fn as $val){
$filename .= '' . $val . '' . " ";
}
return $filename;
}else{
return $filename = '' . $fn . '';
}
}
}
?>
dbbackup.class.php
/**
* 数据库备份程序
*
* @author:黄乐
* @version:1.0
* @lastupdate:2010-7-18
*
*/
// +-----------------------------------------------------------
// | 备份原理:
// +-----------------------------------------------------------
// |默认备份文件大于2048k,则分卷备份
// |该类可以备份数据和导入数据
// |一个备份文件有多个分卷,只需任选一个导入,程序会自动导入其他分卷
// +-----------------------------------------------------------
/**
+-----------------------------------------------------------------
* 使用实例:
+-----------------------------------------------------------------
* $dbbackup = new dbbackup("localhost", "root", "", "数据库名");
+-----------------------------------------------------------------
* 备份数据:
* $tbs = $dbbackup->get_tb() 获取数据库表集合
* $data = $dbbackup->get_backupdata($tbs); 获取备份数据
* $dbbackup->export($data) 导入数据
+-----------------------------------------------------------------
* 导入数据:
* $bakfile = $dbbackup->get_backup(); 获取备份文件
* $dbbackup->import(文件名) 导入数据
+-----------------------------------------------------------------
* 删除备份:
* $dbbackup->delfn(文件名)
+-----------------------------------------------------------------
* 上述仅为逻辑演示,本类可灵活使用
+-----------------------------------------------------------------
*/
class dbbackup{
/**
* 数据库主机
*
* @private string
*/
private $db_host;
/**
* 数据库用户名
*
* @private string
*/
private $db_user;
/**
* 数据库密码
*
* @private string
*/
private $db_pwd;
/**
* 数据库名
*
* @private string
*/
private $db_database;
/**
* 数据库编码,gbk,utf8,gb2312
*
* @private string
*/
private $coding;
/**
* 数据库连接标识
*
* @private string
*/
private $conn;
/**
* 文件夹路径(存放备份数据)
*
* @private string
*/
private $data_dir = 'data/';
/**
* 分卷长度(单位kb)
*
* @private string
*/
private $part = 2048;
/**
* 备份文件名
*
* @private string | array
*/
public $bakfn;
|