国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > PHP > 正文

php備份數(shù)據(jù)庫(kù)腳本的幾個(gè)例子

2024-05-04 21:49:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

利用php備份mysql數(shù)據(jù)庫(kù)就是把數(shù)據(jù)生成.sql文件,這樣就算是數(shù)據(jù)備份成功了,恢復(fù)時(shí)也可以直接讀取再一條條執(zhí)行即可,下面整理了一些備份例子大家有興趣的可進(jìn)來(lái)參考.

例子,代碼如下:

  1. <?php  
  2. // 備份數(shù)據(jù)庫(kù) 
  3. $host = "localhost"
  4. $user = "root"//數(shù)據(jù)庫(kù)賬號(hào) 
  5. $password = ""//數(shù)據(jù)庫(kù)密碼 
  6. $dbname = "mysql"//數(shù)據(jù)庫(kù)名稱 
  7. // 這里的賬號(hào)、密碼、名稱都是從頁(yè)面?zhèn)鬟^(guò)來(lái)的 
  8. if (!mysql_connect($host$user$password)) // 連接mysql數(shù)據(jù)庫(kù) 
  9.     { 
  10.         echo '數(shù)據(jù)庫(kù)連接失敗,請(qǐng)核對(duì)后再試'
  11.     exit
  12. }  
  13. if (!mysql_select_db($dbname)) // 是否存在該數(shù)據(jù)庫(kù) 
  14.     { 
  15.         echo '不存在數(shù)據(jù)庫(kù):' . $dbname . ',請(qǐng)核對(duì)后再試'
  16.     exit
  17. }  
  18. mysql_query("set names 'utf8'"); 
  19. $mysql = "set charset utf8;\r\n"
  20. $q1 = mysql_query("show tables"); 
  21. while ($t = mysql_fetch_array($q1)) 
  22.     $table = $t[0]; 
  23.     $q2 = mysql_query("show create table `$table`"); 
  24.     $sql = mysql_fetch_array($q2); 
  25.     $mysql .= $sql['Create Table'] . ";\r\n"
  26.     $q3 = mysql_query("select * from `$table`"); 
  27.     while ($data = mysql_fetch_assoc($q3)) 
  28.     { 
  29.         $keys = array_keys($data); 
  30.         $keys = array_map('addslashes'$keys); 
  31.         $keys = join('`,`'$keys); 
  32.         $keys = "`" . $keys . "`"
  33.         $vals = array_values($data); 
  34.         $vals = array_map('addslashes'$vals); 
  35.         $vals = join("','"$vals); 
  36.         $vals = "'" . $vals . "'"
  37.         $mysql .= "insert into `$table`($keys) values($vals);\r\n"
  38.     }  
  39. }  
  40.  
  41. $filename = $dbname . date('Ymjgi') . ".sql"//存放路徑,默認(rèn)存放到項(xiàng)目最外層 
  42. $fp = fopen($filename'w'); 
  43. fputs($fp$mysql); 
  44. fclose($fp); 
  45. echo "數(shù)據(jù)備份成功"
  46.  
  47. ?>  
  48. //例子,代碼如下: 
  49. #!/usr/bin/php m.survivalescaperooms.com 
  50. <?php 
  51. header('Content-Type:text/html;charset=utf-8'); 
  52.  
  53. define('BACK_PATH', dirname(__FILE__)); 
  54.  
  55. /** 
  56. 為空數(shù)組就備份所有數(shù)據(jù)庫(kù) 
  57. */ 
  58. $back_databases = array('learning','wp'); 
  59.  
  60. $mysql_host = 'localhost'
  61.  
  62. $mysql_user = 'root'
  63.  
  64. $mysql_passwd = 'root'
  65.  
  66. if($conn = mysql_connect($mysql_host$mysql_user$mysql_passwd)){ 
  67.  
  68.  $databases = array(); 
  69.  
  70.  mysql_select_db('mysql'$conn); 
  71.  
  72.  $query  =mysql_query('show databases',$conn); 
  73.  
  74.  while($row = mysql_fetch_array($query)) 
  75.  { 
  76.   if(emptyempty($row)) continue
  77.    
  78.   $database = $row[0]; 
  79.    
  80.   if(!emptyempty($back_databases) && !in_array($database$back_databases)) continue
  81.      
  82.   $sql_dir = BACK_PATH . "/{$database}.sql"
  83.     
  84.   $execs = "mysqldump --user={$mysql_user} --password={$mysql_passwd} {$database} > " . $sql_dir
  85.    
  86.   system($execs); 
  87.    
  88.   if(file_exists($sql_dir . '.gz')) { 
  89.      unlink($sql_dir . '.gz'); 
  90.   } 
  91.      
  92.   system('gzip ' . $sql_dir); 
  93.  } 
  94. //例子,代碼如下: 
  95. <?php  
  96. $host="##mysql服務(wù)器地址##";  
  97. $user="##登錄帳號(hào)##";  
  98. $password="##登錄密碼##";  
  99. $dbname="##數(shù)據(jù)庫(kù)名##";  
  100. $filename="##備份文件路徑##";  
  101. mysql_connect($host,$user,$password);  
  102. mysql_select_db($dbname);  
  103. $mysql.="CREATE DATABASE IF NOT EXISTS `".$dbname."`;\r\n";  
  104. $mysql.="USE `".$dbname."`;\r\n\r\n";  
  105. $q0=mysql_query("set names utf8");  
  106. $q1=mysql_query("show tables");  
  107. while($t=mysql_fetch_array($q1)){  
  108.   $table=$t[0];  
  109.   $mysql.="DROP TABLE IF EXISTS `".$table."`;\r\n";  
  110.   $q2=mysql_query("show create table `$table`");  
  111.   $sql=mysql_fetch_array($q2);  
  112.   $mysql.=$sql['Create Table'].";\r\n\r\n";  
  113.   $q3=mysql_query("select * from `$table`");  
  114.   while($data=mysql_fetch_assoc($q3)){  
  115.     $keys=array_keys($data);  
  116.     $keys=array_map('addslashes',$keys);  
  117.     $keys=join('`,`',$keys);  
  118.     $keys="`".$keys."`";  
  119.     $vals=array_values($data);  
  120.     $vals=array_map('addslashes',$vals);  
  121.     $vals=join("','",$vals);  
  122.     $vals="'".$vals."'";  
  123.     $mysql.="insert into `$table`($keys) values($vals);\r\n";  
  124.   }  
  125.   $mysql.="\r\n";  
  126. }  
  127. $fp = fopen($filename,'wb');  
  128. fputs($fp,$mysql);  
  129. fclose($fp);  
  130. include_once('lib/pclzip.lib.php');  
  131. $archive = new PclZip($filename.'.zip');  
  132. $v_list = $archive->create($filename);  
  133. if ($v_list == 0) {  
  134.    die("Error : ".$archive->errorInfo(true));  
  135. }  
  136. if(file_exists($filename)){  
  137.    unlink($filename);  
  138. }  
  139. echo "Mysql's backup successfully to ".$filename.".zip";  
  140. ?>  

Zip打包備份代碼,幾乎就是全抄demo,太方便了,代碼如下:

  1. <?PHP  
  2. include_once('lib/pclzip.lib.php');  
  3. $src="##源路徑##";  
  4. $dest="##目標(biāo)zip路徑##";  
  5. $archive = new PclZip($dest);  
  6. $v_list = $archive->create($src);  
  7. if ($v_list == 0) {  
  8.    die("Error : ".$archive->errorInfo(true));  
  9. }else{  
  10.      print("Success");  
  11. }  
  12. ?> 

pclzip.lib.php這個(gè)壓縮包文件大家百度去下載這里未提供.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 内黄县| 慈溪市| 民丰县| 襄汾县| 丰宁| 全南县| 蓝田县| 隆化县| 乃东县| 轮台县| 平顺县| 陇南市| 阿克陶县| 聂拉木县| 湘潭市| 沧州市| 平定县| 平和县| 沈丘县| 克什克腾旗| 五台县| 鄱阳县| 仪陇县| 丹凤县| 青龙| 加查县| 玉溪市| 铅山县| 屯留县| 三原县| 大宁县| 璧山县| 苏尼特右旗| 根河市| 广河县| 乃东县| 苍山县| 山东省| 石台县| 莆田市| 容城县|