ThinkPHP数据库备份代码_扶摇网络

我们只做利于SEO的网站

ThinkPHP数据库备份代码

来源:扶摇网络 作者:网站建设/SEO优化专家 浏览: 发布日期:2020-06-17 16:04:31
[导读]:public function back()   {      $to_file_name="backsql.sql";      //数据库中有哪些表 &nb...

public function back()
   {
      $to_file_name="backsql.sql";
      //数据库中有哪些表
      $tables=Db::query('SHOW TABLES ');
      $tablelist=array();
      foreach($tables as $v){
         foreach($v as $vv){
            $tablelist[]=$vv;
         }
      }
      echo "正在备份,请耐心等待...
";       $info = "-- ----------------------------\r\n";       $info .= "-- 日期:".date("Y-m-d H:i:s",time())."\r\n";       $info .= "-- 仅用于测试和学习,本程序不适合处理超大量数据\r\n";       $info .= "-- ----------------------------\r\n\r\n";       file_put_contents($to_file_name,$info,FILE_APPEND);       //将每个表的表结构导出到文件       foreach($tablelist as $val){          $res = Db::query('show create table '.$val);          foreach($res as $v){             $newres=$v['Create Table'];          }          $info = "-- ----------------------------\r\n";          $info .= "-- Table structure for `".$val."`\r\n";          $info .= "-- ----------------------------\r\n";          $info .= "DROP TABLE IF EXISTS `".$val."`;\r\n";          $sqlStr = $info.$newres.";\r\n\r\n";          //追加到文件          file_put_contents($to_file_name,$sqlStr,FILE_APPEND);       }       //将每个表的数据导出到文件       foreach($tablelist as $val){          $sql = "select * from ".$val;          $res = Db::query('select * from '.$val);          //如果表中没有数据,则继续下一张表          if(count($res)<1) continue;          //          $info = "-- ----------------------------\r\n";          $info .= "-- Records for `".$val."`\r\n";          $info .= "-- ----------------------------\r\n";          file_put_contents($to_file_name,$info,FILE_APPEND);          //读取数据                   foreach($res as $v){             $sqlstr="INSERT INTO `".$val."` VALUES (";             foreach($v as $vv){                //将数据中的单引号转义,否则还原时会出错               $newvv= str_replace("'","\'",$vv);                $sqlstr .="'".$newvv."', ";             }             //去掉最后一个逗号和空格             $sqlstr = substr($sqlstr,0,strlen($sqlstr)-2);             $sqlstr .= ");\r\n";             file_put_contents($to_file_name,$sqlstr,FILE_APPEND);          }          file_put_contents($to_file_name,"\r\n",FILE_APPEND);       }       echo "OK!";    }


大家有疑问,可以在下边留言交流,我有空会及时回复,本人英文网名:Cheng,中文网名:陆小凤。
免责声明:本文由专注多年品牌设计公司扶摇网络整理编写,旨在为企业提供网络知识分享,如有侵权请联系删除,转栽请注明出处.
加载中~
微信咨询网站建设

扫一扫高效沟通

访问网站建设手机端

扫描访问手机网站

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!