zoukankan      html  css  js  c++  java
  • 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='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文件格式与分卷导出的格式有关


  • 相关阅读:
    cmd 一键获取 所有连接过的wifi 密码
    MYSQL注入语句
    Web安全篇之SQL注入攻击
    Kali Linux 不能联网上网 解决方法
    php杂项
    laravel下的数据序列化
    填充数据
    css
    array
    GD库常用函数
  • 原文地址:https://www.cnblogs.com/see7di/p/2239907.html
Copyright © 2011-2022 走看看