您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php mysql 数据库备份程序_PHP教程

2025/8/24 23:57:27发布19次查看
php mysql 数据库备份程序/*提供一款实例的php mysql 数据库备份程序,很好方法的可以对你的数据库进行在线实时备份,这样可以保存数据库的安全,并且他是以.sql文件保存在bakdata目录还日期生成的数据库备份文件的。
php教程 mysql教程 数据库教程备份程序
/*
提供一款实例的php mysql 数据库备份程序,很好方法的可以对你的数据库进行在线实时备份,这样可以保存数据库的安全,并且他是以.sql文件保存在bakdata目录还日期生成的数据库备份文件的。
*/
?>
数据管理
esweb系统数据管理
数据备份
    数据还原
 数据优化
如果需要备份、还原或者优化 大量的数据 , 推荐使用帝国备份王2010
esweb系统数据备份
选择备份方式
    备份全部数据
    备份单张表数据 
    请选择
    query(show table status from $mysqldb);
    while($d->nextrecord()){
    echo f(' name>.$d->f('name').;}
    ?>
选择目标位置
    备份到服务器
    备份到本地
使用分卷备份
分卷备份 k (只有选择备份到服务器,才能使用分卷备份功能)
程序说明
    1.对于较大的数据表,强烈建议使用分卷备份.
2.只有选择备份到服务器,才能使用分卷备份功能.
query(show table status from $mysqldb))
{$msgs[]=读数据库结构错误; show_msg($msgs); pageend();}
$sql=;
while($d->nextrecord($tables))
{
$table=$d->f(name);
$sql.=make_header($table);
$d->query(select * from $table);
$num_fields=$d->nf();
while($d->nextrecord())
{$sql.=make_record($table,$num_fields);}
}
$filename=date(ymd,time())._all.sql;
if($_post['weizhi']==localpc) down_file($sql,$filename);
elseif($_post['weizhi']==server)
{if(write_file($sql,$filename))
$msgs[]=全部数据表数据备份完成,生成备份文件'$backup/$filename';
else $msgs[]=备份全部数据表失败;
show_msg($msgs);
pageend();
}
/*-----------------不要卷结束*/}/*-----------------------*/
/*-----------------分卷*/else{/*-------------------------*/
if(!$_post['filesize'])
{$msgs[]=请填写备份文件分卷大小; show_msg($msgs);pageend();}
if(!$tables=$d->query(show table status from $mysqldb))
{$msgs[]=读数据库结构错误; show_msg($msgs); pageend();}
$sql=; $p=1;
$filename=date(ymd,time())._all;
while($d->nextrecord($tables))
{
$table=$d->f(name);
$sql.=make_header($table);
$d->query(select * from $table);
$num_fields=$d->nf();
while($d->nextrecord())
{$sql.=make_record($table,$num_fields);
if(strlen($sql)>=$_post['filesize']*1000){
     $filename.=(_v.$p..sql);
     if(write_file($sql,$filename))
     $msgs[]=全部数据表-卷-.$p.-数据备份完成,生成备份文件'$backup/$filename';
     else $msgs[]=备份表-.$_post['tablename'].-失败;
     $p++;
     $filename=date(ymd,time())._all;
     $sql=;}
}
}
if($sql!=){$filename.=(_v.$p..sql); 
if(write_file($sql,$filename))
$msgs[]=全部数据表-卷-.$p.-数据备份完成,生成备份文件'$backup/$filename';}
show_msg($msgs);
/*---------------------分卷结束*/}/*--------------------------------------*/
/*--------备份全部表结束*/}/*---------------------------------------------*/
/*--------备份单表------*/elseif($_post['bfzl']==danbiao){/*------------*/
if(!$_post['tablename'])
{$msgs[]=请选择要备份的数据表; show_msg($msgs); pageend();}
/*--------不分卷*/if(!$_post['fenjuan']){/*-------------------------------*/
$sql=make_header($_post['tablename']);
$d->query(select * from .$_post['tablename']);
$num_fields=$d->nf();
while($d->nextrecord())
{$sql.=make_record($_post['tablename'],$num_fields);}
$filename=date(ymd,time())._.$_post['tablename']..sql;
if($_post['weizhi']==localpc) down_file($sql,$filename);
elseif($_post['weizhi']==server)
{if(write_file($sql,$filename))
$msgs[]=表-.$_post['tablename'].-数据备份完成,生成备份文件'$backup/$filename';
else $msgs[]=备份表-.$_post['tablename'].-失败;
show_msg($msgs);
pageend();
}
/*----------------不要卷结束*/}/*------------------------------------*/
/*----------------分卷*/else{/*--------------------------------------*/
if(!$_post['filesize'])
{$msgs[]=请填写备份文件分卷大小; show_msg($msgs);pageend();}
$sql=make_header($_post['tablename']); $p=1;
$filename=date(ymd,time())._.$_post['tablename'];
$d->query(select * from .$_post['tablename']);
$num_fields=$d->nf();
while ($d->nextrecord())
{
    $sql.=make_record($_post['tablename'],$num_fields);
      if(strlen($sql)>=$_post['filesize']*1000){
     $filename.=(_v.$p..sql);
     if(write_file($sql,$filename))
     $msgs[]=表-.$_post['tablename'].-卷-.$p.-数据备份完成,生成备份文件'$backup/$filename';
     else $msgs[]=备份表-.$_post['tablename'].-失败;
     $p++;
     $filename=date(ymd,time())._.$_post['tablename'];
     $sql=;}
}
if($sql!=){$filename.=(_v.$p..sql); 
if(write_file($sql,$filename))
$msgs[]=表-.$_post['tablename'].-卷-.$p.-数据备份完成,生成备份文件'$backup/$filename';}
show_msg($msgs);
/*----------分卷结束*/}/*--------------------------------------------------*/
/*----------备份单表结束*/}/*----------------------------------------------*/
/*---*/}/*-------------主程序结束------------------------------------------*/
function write_file($sql,$filename)
{
$re=true;
global $backup;
if(!@$fp=fopen($backup./.$filename,w+)) {$re=false; echo failed to open target file;}
if(!@fwrite($fp,$sql)) {$re=false; echo failed to write file;}
if(!@fclose($fp)) {$re=false; echo failed to close target file;}
return $re;
}
function down_file($sql,$filename)
{
ob_end_clean();
header(content-encoding: none);
header(content-type: .(strpos($_server['http_user_agent'], 'msie') ? 'application/octetstream' : 'application/octet-stream'));
header(content-disposition: .(strpos($_server['http_user_agent'], 'msie') ? 'inline; ' : 'attachment; ').filename=.$filename);
header(content-length: .strlen($sql));
header(pragma: no-cache);
header(expires: 0);
echo $sql;
$e=ob_get_contents();
ob_end_clean();
}
function writeable($dir)
{
if(!is_dir($dir)) {
@mkdir($dir, 0777);
}
if(is_dir($dir))
{
if($fp = @fopen($dir/test.test, 'w'))
    {
@fclose($fp);
@unlink($dir/test.test);
$writeable = 1;
}
else {
$writeable = 0;
}
}
return $writeable;
}
function make_header($table)
{global $d;
$sql=drop table if exists .$table.n;
$d->query(show create table .$table);
$d->nextrecord();
$tmp=preg_replace(/n/,,$d->f(create table));
$sql.=$tmp.n;
return $sql;
}
function make_record($table,$num_fields)
{global $d;
$comma=;
$sql .= insert into .$table. values(;
for($i = 0; $i {$sql .= ($comma.'.mysql_escape_string($d->record[$i]).'); $comma = ,;}
$sql .= )n;
return $sql;
}
function show_msg($msgs)
{
$title=提示:;
echo
;
echo .$title.
;
echo
;
while (list($k,$v)=each($msgs))
{
echo .$v.;
}
echo
;
}function pageend()
{
exit();
}
?>
class db{
var $linkid;
var $sqlid;
var $record;
function db($host=,$username=,$password=,$database=)
{
if(!$this->linkid)    @$this->linkid = mysql_connect($host, $username, $password) or die(连接服务器失败.);
@mysql_select_db($database,$this->linkid) or die(无法打开数据库);
return $this->linkid;}
function query($sql)
{if($this->sqlid=mysql_query($sql,$this->linkid)) return $this->sqlid;
else {
    $this->err_report($sql,mysql_error);
return false;}
}
function nr($sql_id=)
{if(!$sql_id) $sql_id=$this->sqlid;
return mysql_num_rows($sql_id);}
function nf($sql_id=)
{if(!$sql_id) $sql_id=$this->sqlid;
return mysql_num_fields($sql_id);}
function nextrecord($sql_id=)
{if(!$sql_id) $sql_id=$this->sqlid;
if($this->record=mysql_fetch_array($sql_id))    return $this->record;
else return false;
}
function f($name)
{
if($this->record[$name]) return $this->record[$name];
else return false;
}
function close() {mysql_close($this->linkid);}
function lock($tblname,$op=write)
{if(mysql_query(lock tables .$tblname. .$op)) return true; else return false;}
function unlock()
{if(mysql_query(unlock tables)) return true; else return false;}
function ar() {
      return @mysql_affected_rows($this->linkid);
    }
function i_id() {
    return mysql_insert_id();
}
function err_report($sql,$err)
{
echo mysql查询错误
;
echo 查询语句:.$sql.
;
echo 错误信息:.$err;
}
/****************************************类结束***************************/
global $mysqlhost, $mysqluser, $mysqlpwd, $mysqldb, $backup;
$mysqlhost = $mydbhost;          //host name
$mysqluser = $mydbuser;          //login name
$mysqlpwd = $mydbpw;             //password
$mysqldb = $mydbname;            //name of database
$d=new db($mysqlhost,$mysqluser,$mysqlpwd,$mysqldb);
$d->query(set names 'utf8');
http://www.bkjia.com/phpjc/630798.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/630798.htmltecharticlephp mysql 数据库备份程序/*提供一款实例的php mysql 数据库备份程序,很好方法的可以对你的数据库进行在线实时备份,这样可以保存数据库的...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product