程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> mysql 數據備份類代碼

mysql 數據備份類代碼

編輯:關於PHP編程

mysql 數據備份類代碼 /*** * 說明,該類適用於小型的網站的數據庫備份,內置MYSQL連接,只需要簡單配置數據連接 * 及存貯備份的位置即可。 * 類中show_dir_file() 方法可直接返回備份目錄下的所有文件,返回以數組形式

mysql教程 數據備份類代碼
 /***
  * 說明,該類適用於小型的網站的數據庫教程備份,內置mysql連接,只需要簡單配置數據連接
  * 及存貯備份的位置即可。
  * 類中show_dir_file() 方法可直接返回備份目錄下的所有文件,返回以數組形式
  * 方法 expord_sql() 直接生成sql文件
  * 該類制作簡單,可任意傳播,如何您對該類有什麼提議,請發送郵件給小蝦
  * 制作人:游天小蝦
  * emial:[email protected]
  * **/

class data {
 public   $data_dir    = "class/";     //備份文件存放的路徑
 public   $data_name   = "111cnnet.sql";   //備份文件名
 private  $mysql_host  = "localhost";    //數據庫地址
 private  $mysql_user  = "root";     //用戶名
 private  $mysql_pwd   = "lpl19881129";    //密碼
 private  $mysql_db    = "date";     //數據庫名
 private  $mysql_code  = "gbk";      //編碼方式

/***
 * 1.連接數據庫
 * **/
 function __construct(){
  $conn = mysql_connect($this->mysql_host,$this->mysql_user,$this->mysql_pwd);
  mysql_select_db($this->mysql_db);
  mysql_query("set names $this->mysql_code");
 }

/***
 * 2.生成sql語句
 * **/
 private function set_sql($table){
  $tabledump = "drop table if exists $table;n";
  $createtable = mysql_query("show create table $table");
  $create = mysql_fetch_row($createtable);
  $tabledump .= $create[1].";nn";

  $rows = mysql_query("select * from $table");
  $numfields = mysql_num_fields($rows);
  $numrows = mysql_num_rows($rows);
  while ($row = mysql_fetch_row($rows)){
     $comma = "";
     $tabledump .= "insert into $table values(";
     for($i = 0; $i < $numfields; $i++)
     {
    $tabledump .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
     }
     $tabledump .= ");n";
  }
  $tabledump .= "n";

  return $tabledump;
   }

/***
 * 3.顯示存放目錄下已經備份的文件
 * **/
    public function show_dir_file() {
  $dir = $this->data_dir;
     if(!is_dir($dir)){
   if(!mkdir($dir)){
    echo "文件夾不存在,嘗試創建文件夾,創建失敗,可能是您沒有相關權限";
    exit();
   }else{
    chmod($dir,755);
   }
     }

  if(!is_writable($dir)){
   echo " 文件不可寫";
   exit();
  }

  $link = opendir($dir);
  if(!$link){
   echo "創建鏈接失敗";
   exit();
  }
  return scandir($dir);
    }

/***
 * 4.生成sql文件
 * **/
    public function expord_sql(){
     $this->show_dir_file();
     $result = mysql_list_tables($this->mysql_db);
  while($arr = mysql_fetch_row($result)){
   $tables .= $this->set_sql($arr[0]);
  }
  $file = $this->data_dir.$this->data_name;
  $link = fopen($file,"w+");
  if(!is_writable($file)){
   echo "文件不可寫";
   exit();
  }
  fwrite($link,$tables);
  fclose($link);
  echo "備份成功";
    }

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved