一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 備份mysql數(shù)據(jù)庫的php代碼(一個表一個文件)

備份mysql數(shù)據(jù)庫的php代碼(一個表一個文件)

2019-10-31 14:18php代碼網(wǎng) PHP教程

用php實現(xiàn)的備份MySQL數(shù)據(jù)庫的代碼,需要的朋友可以參考下。

代碼如下:


<?php 
$cfg_dbhost ='localhost';//mysql主機 
$cfg_dbname ='sq_test';//數(shù)據(jù)庫名 
$cfg_dbuser ='root';//數(shù)據(jù)庫用戶名 
$cfg_dbpwd ='jb51.net';//數(shù)據(jù)庫用戶密碼 
$cfg_db_language ='utf8';//數(shù)據(jù)庫編碼 

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('無法連接服務(wù)器!'.self::mysqlerror);exit("無法連接服務(wù)器!");; 

if(!mysql_select_db(self::$dbname)){ 
self::sqlError('無法連接數(shù)據(jù)庫('.self::$dbname.')!'.self::mysqlerror);exit("無法連接數(shù)據(jù)庫!"); 

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."<br/>DATE: ".date('Y-n-j H:i:s')."<br/>ERROR: ".$info."<br/>SQL: ".$sql."<br/>}<br/>"; 

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("創(chuàng)建目錄 [".$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<br/>\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")." */\r\nDROP TABLE IF EXISTS `$t`;\r\n".$s1['Create Table'].";\r\n\r\n"; 
$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);\r\n"; 

$mysql.="\r\n"; 
filein($filename,$t,$mysql); 


echo "數(shù)據(jù)備份成功,生成備份文件   ".getcwd()."/".$filename."/<br/>程序自動清理5天以前的備份"; 
?> 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 私人影院在线播放 | 99这里都是精品 | 99re思思 | 日产精品卡一卡2卡三卡乱码工厂 | 四虎影视e456fcom四虎影视 | www.男人的天堂 | 男同gay玩奴男同玩奴 | 久久精品黄AA片一区二区三区 | 欧美成人免费观看bbb | 日本大学jalapsiki | 999久久免费高清热精品 | 国产成人亚洲精品一区二区在线看 | 无人影院在线播放视频 | 国产精品亚洲片夜色在线 | 日本www色视频成人免费 | 男人天堂999| 好逼天天有 | 99国产精品免费视频 | 明星ai人脸替换造梦在线播放 | 啊啊啊好大好爽视频 | 精品国产三级av在线 | 欧美激情影音先锋 | 男女车车好快的车车免费网站 | 免费超级乱淫播放手机版 | 国产大片51精品免费观看 | 好骚好紧 | 好湿好紧太硬了我太爽了网站 | 四虎永久在线精品波多野结衣 | 日本人成年视频在线观看 | 久青草国产观看在线视频 | 肉色欧美久久久久久久蜜桃 | 91在线精品老司机免费播放 | 毛片应用 | 女教师雪白老汉 | 精品午夜久久网成年网 | 亚洲欧美另类专区 | 欧美日韩在线观看精品 | 亚洲天天综合网 | 欧美xingai | 亚洲AV 无码AV 中文字幕 | 成人啪精品视频免费网站 |