mysql表备份成文件_备份mysql(一表一文件)

$cfg_dbname            ='sq_test';//数据库名

$cfg_dbuser            ='root';//数据库用户名

$cfg_dbpwd            ='123450';//数据库用户密码

$cfg_db_language    ='utf8';//数据库编码classdbmysql{publicstatic$dbhost='localhost';publicstatic$dbname;publicstatic$dbuser='root';publicstatic$dbpass;publicstatic$charset='utf8';publicstatic$DB=null;public$querycount=0;publicfunction__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();

}publicfunctionconnect(){

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);

}privatefunctionmysqlerror(){returnmysql_error();

}publicfunctiongetTablesName(){$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;

}publicfunctiongetFields($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;

}publicfunctionfetch_array($sql){$res=mysql_query($sql,self::$DB);$r=mysql_fetch_array($res);mysql_free_result($res);return$r;

}publicfunctionfetch_assoc($sql){$q3=mysql_query($sql,self::$DB);$ra=array();while($data=mysql_fetch_assoc($q3)){$ra[]=$data;

}mysql_free_result($q3);return$ra;

}privatefunctionsqlError($message='',$info='',$sql=''){//保存错误信息到文件echo"{".$message."
DATE:".date('Y-n-j H:i:s')."
ERROR:".$info."
SQL:".$sql."
}
";

}publicfunctionclose(){

self::$DB=null;

}publicfunction__destruct()

{

self::close();

}

}/*---class end*/functionmakedir($dirpath){if(!$dirpath)return0;$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."]失败.");

}

}

}returntrue;

}functiondelDirAndFile($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";

}

}functionfilein($filename="databak/",$table='',$mysql=''){$fp=fopen($filename.'/'.$table.'.sql','w');fputs($fp,$mysql);fclose($fp);

}header("Content-Type:text/html;charset=utf-8");$db=newdbmysql();$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($tableas$t){$s1=$db->fetch_array("show create table `$t`");$mysql="/*Time:".date("Y-m-d H:i:s")."*/\r\nDROP TABLE IF EXISTS `$t`;\r\n".$s1['Create Table'].";\r\n\r\n";$a1=$db->fetch_assoc("select * from `$t`");foreach($a1as$data){$vals=array_values($data);$vals=array_map('addslashes',$vals);$vals=join("','",$vals);$vals="'".$vals."'";$mysql.="INSERT INTO `$t` VALUES ($vals);\r\n";

}$mysql.="\r\n";

filein($filename,$t,$mysql);

}echo"数据备份成功,生成备份文件".getcwd()."/".$filename."/
程序自动清理5天以前的备份";?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值