PHP数据库备份文件分卷导入的实现思路

首先将分卷备份文件逐一上传至服务器,注意卷标的判断,然后执行导入操作

//如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人 Seven{See7di#Gmail.com}

/*---------------------------------*/
Function _Doimport(){
$f1=_r($_GET["f1"]);

//如果是第一个回圈
IF($f1=="1"){
   //首先得到分卷个数
   For($i=1;$i<1000;$i++){
    IF(File_exists("./Cache/DB_".$i.".sql")){
     Continue;
    }Else{
     $_SESSION['_Num']=($i-1);
     Break;
    }
   }
   //初始化分卷编号
   $Fnum=1;
}Else{
   $Fnum=_r($_GET["fnum"]);
   Settype($Fnum, "integer");
}

//判断是否已经结束
IF($Fnum>$_SESSION['_Num']){
   //需要跳转到?work=backdb删除用户上传的备份文件
   Alert("恭喜,所有的备份文件已经全部写入数据库!\\n\\n建议您重新更新一下分类缓存和标签缓存以确保数据的正确性.","?work=backdb");
   Die();
}

$Fp = File_get_contents("./Cache/DB_".$Fnum.".sql");
$Fp = Explode(';'.Chr(10),$Fp);
$Fp = preg_replace("/^#(.*)\n/is","", $Fp);
//Echo "<textarea rows='23' style='width:100%;font-size:12px;'>";
Foreach($Fp as $key=>$val){
   //Echo $key.":".Trim($val).Chr(10)."==================================".Chr(10);
   Mysql_query(Trim($val).";");
}
//Echo "</textarea>";

Echo "<br>系统正在还原数据库备份文件DB_".$Fnum.".sql,请稍候...<br><br>";
Echo Loading($Fnum,$_SESSION['_Num']);
$Fnum++;
Alert("","?work=doimport&fnum=".$Fnum."");
}

需要导入的Sql文件格式与分卷导出的格式有关


转载于:https://www.cnblogs.com/see7di/archive/2010/04/29/2239907.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值