加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

备份mysql数据库的php代码(一个表一个文件)

发布时间:2020-12-13 05:44:09 所属栏目:PHP教程 来源:网络整理
导读:div class="codetitle" a style="CURSOR: pointer" data="80881" class="copybut" id="copybut80881" onclick="doCopy('code80881')" 代码如下: div class="codebody" id="code80881" ?php $cfg_dbhost ='localhost';//mysql主机 $cfg_dbname ='sq_test';//

<div class="codetitle"><a style="CURSOR: pointer" data="80881" class="copybut" id="copybut80881" onclick="doCopy('code80881')"> 代码如下:<div class="codebody" id="code80881">
<?php
$cfg_dbhost ='localhost';//mysql主机
$cfg_dbname ='sq_test';//数据库名
$cfg_dbuser ='root';//数据库用户名
$cfg_dbpwd ='52php.cn';//数据库用户密码
$cfg_db_language ='utf8';//数据库编码 class dbmysql{
public static $dbhost = 'localhost';
public static $dbname;
public static $dbuser = 'root';
public static $dbpass;
public static $charset = 'utf8';
public static $DB = null;
public $querycount = 0; public function construct()
{
self::$dbhost = $GLOBALS['cfg_dbhost'];
self::$dbname = $GLOBALS['cfg_dbname'];
self::$dbuser = $GLOBALS['cfg_dbuser'];
self::$dbpass = $GLOBALS['cfg_dbpwd'];
self::$charset= $GLOBALS['cfg_db_language'];
self::connect();
}
public function connect(){
self::$DB=mysql_connect(self::$dbhost,self::$dbuser,self::$dbpass);
if(!self::$DB){
self::sqlError('无法连接服务器!'.self::mysqlerror);exit("无法连接服务器!");;
}
if(!mysql_select_db(self::$dbname)){
self::sqlError('无法连接数据库('.self::$dbname.')!'.self::mysqlerror);exit("无法连接数据库!");
}
mysql_query("SET NAMES '".self::$charset."',character_set_client=binary,sql_mode='';",self::$DB);
} private function mysqlerror(){
return mysql_error();
} public function getTablesName(){
$res = mysql_query('SHOW TABLES FROM '.self::$dbname,self::$DB);
$tables=array();
while ($row=mysql_fetch_row($res))$tables[]=$row[0];
mysql_free_result($res);
return $tables;
}
public function getFields($table){
$res=mysql_query('DESCRIBE '.$table,self::$DB);
$tables=array();
while($row=mysql_fetch_row($res))$tables[]=$row[0];
mysql_free_result($res);
return $tables;
} public function fetch_array($sql){
$res=mysql_query($sql,self::$DB);
$r=mysql_fetch_array($res);
mysql_free_result($res);
return $r;
} public function fetch_assoc($sql){
$q3=mysql_query($sql,self::$DB); $ra=array();
while($data=mysql_fetch_assoc($q3)){
$ra[]=$data;
}
mysql_free_result($q3);
return $ra;
}
private function sqlError($message='',$info ='',$sql=''){//保存错误信息到文件
echo "{".$message."
DATE: ".date('Y-n-j H:i:s')."
ERROR: ".$info."
SQL: ".$sql."
}
";
}
public function close(){
self::$DB =null;
}
public function
destruct()
{
self::close();
}
} /---class end/ function makedir($dirpath){
if(!$dirpath) return 0;
$dirpath=str_replace("","/",$dirpath); $mdir="";
foreach(explode("/",$dirpath) as $val){
$mdir.=$val."/";
if($val==".."||$val==".")continue;
if(!is_dir($mdir)&&!file_exists($mdir)){
if(!@mkdir($mdir,0755)){
exit("创建目录 [".$mdir."]失败.");
}
}
}
return true;
} function delDirAndFile($dirName){
if($handle=opendir($dirName)){
while(false!==($item = readdir($handle))){
if($item !="."&&$item!=".."){
if(is_dir( "$dirName/$item")){
delDirAndFile( "$dirName/$item");
}else{ unlink("$dirName/$item"); }
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo "成功删除目录: $dirName
n";
}
} function filein($filename="databak/",$table='',$mysql=''){
$fp = fopen($filename.'/'.$table.'.sql','w');
fputs($fp,$mysql);
fclose($fp);
} header("Content-Type:text/html;charset=utf-8"); $db=new dbmysql(); $table=$db->getTablesName(); $filename="databak/".date("Ymd");
$url=getcwd()."/databak/";
$handle = opendir($url);
while(false!==($file = readdir($handle))){
if ($file!="."&&$file!=".."&&is_dir($url."/".$file)) {
if(date("Ymd")-$file>5){delDirAndFile($url."/".$file);};
}
} makedir($filename);
foreach($table as $t){
$s1=$db->fetch_array("show create table $t");
$mysql="/Time:".date("Y-m-d H:i:s")." /rnDROP TABLE IF EXISTS $t;rn".$s1['Create Table'].";rnrn";
$a1=$db->fetch_assoc("select * from $t");
foreach ($a1 as $data){
$vals=array_values($data);
$vals=array_map('addslashes',$vals);
$vals=join("','",$vals);
$vals="'".$vals."'";
$mysql.="INSERT INTO $t VALUES ($vals);rn";
}
$mysql.="rn";
filein($filename,$t,$mysql);
} echo "数据备份成功,生成备份文件   ".getcwd()."/".$filename."/
程序自动清理5天以前的备份";
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读