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

首頁 > 開發 > PHP > 正文

一個簡單php數據庫備份程序

2024-05-04 21:49:10
字體:
來源:轉載
供稿:網友

php備份mysql數據庫是很多個人站長網站所具備的功能,當然如果你要備份幾個GB或更大的數據庫時php備份方法感覺有點吃力了.

PHP 備份 mysql 數據庫的源代碼,在完善的 PHP+Mysql 項目中,在后臺都會有備份 Mysql 數據庫的功能,有了這個功能,我們就不用再使用 FTP 或者使用 mysql 的管理工具進行 mysql 數據庫下載了,非常方便,對于想做這樣功能的 phper 來說,其實原理并不是很麻煩,主要有以下三點.

一,一定要連接數據庫,這樣才能通過 SQL 語句打印出 mysql 數據表.

二,通過 PHP 的文件操作函數進行數據庫的操作,包括創建保存 mysql 數據庫的文件夾,這一步主要就是新建文件的步驟.

三,將 mysql 數據庫進行保存下來.

通過這樣的原理,我們就可以制作出一個屬于自己的備份數據庫的功能了,下面是一個php數據庫備份的源代碼,主要結構是依據上面的三點進行的,源碼是由幾個方法組成的,我們也可以將其封裝成為自己的 php 類,舉一反三,希望 phper 能在此基礎上設計出適合自己的 mysql 數據庫備份功能源碼,代碼如下:

  1. <?php 
  2. /** 備份數據庫 生成.sql文件 
  3.      * @param $browseinfo  String  瀏覽器版本 
  4.      * return $browseinfo 
  5.      */ 
  6.     function createsql(){ 
  7.         //創建個日期 
  8.         $timer1 = time(); 
  9.         $path = "my_sql/"
  10.         $content =gettables(); 
  11.         $filename = $path.$timer1.".sql"
  12.     
  13.         //先判斷文件夾在不在 
  14.          if(!file_exists($path)){ 
  15.         //如果不存在生成這個目錄,0777表示最大的讀寫權限 
  16.             if(mkdir($path,0777)){ 
  17.             //echo"新建立目錄";   
  18.             }//開源代碼Vevb.com 
  19.         } 
  20.  
  21.         //判斷文件是否存在 
  22.         if(!file_exists($filename)){ 
  23.             //如果文件不存在,則創建文件 
  24.             @fopen($filename,"w"); 
  25.  
  26.             //判斷文件是否可寫 
  27.             if(is_writable($filename)){ 
  28.             //打開文件以添加方式即"a"方式打開文件流 
  29.                 if(!$handle =  fopen($filename,"a")){ 
  30.                     echo"文件不可打開"
  31.                     exit(); 
  32.                 } 
  33.  
  34.             if(!fwrite($handle,$content)){ 
  35.                 echo"文件不可寫"
  36.                 exit(); 
  37.             } 
  38.  
  39.         //關閉文件流 
  40.         fclose($handle); 
  41.         echo "生成文件并保存首次內容"
  42.          
  43.     }else { 
  44.         echo"文件$filename不可寫"
  45.     } 
  46.         }else
  47.             if(is_writable($filename)){ 
  48.             //以添加方式打開文件流 
  49.             if(!$handle = fopen($filename,"a")){ 
  50.                 echo"文件不可打開"
  51.                 exit(); 
  52.             } 
  53.             fclose($handle); 
  54.             }else
  55.                 echo "文件$filename不可寫"
  56.             } 
  57.     } 
  58.  
  59.  
  60.     /** 
  61.      * 獲得數據庫中的表名 
  62.      * return $str 循環生成數據庫建表和插入值的sql語句 
  63.      */ 
  64.     function gettables(){ 
  65.         $mysqli = new mysqli("localhost","root","","bbs"); 
  66.         $str = ''
  67.         if ($result = $mysqli->query("SHOW TABLES")) { 
  68.             while($row = $result->fetch_row()){ 
  69.                 $str.= data2sql($row[0])."<br/>"
  70.             } 
  71.             $mysqli->close(); 
  72.             return $str
  73.         }    
  74.      
  75.     }  
  76.     
  77.  
  78.     /** 
  79.      * 獲得數據庫中的表結構和值 
  80.      * return $tabledump 返回一個表中的結構和值的sql語句 
  81.      */ 
  82.     function data2sql($table){   
  83.      $mysqli = new mysqli("localhost","root","","bbs"); 
  84.         /* check connection */ 
  85.         if (mysqli_connect_errno()) { 
  86.             printf("Connect failed: %sn", mysqli_connect_error()); 
  87.         exit(); 
  88.     } 
  89.          $tabledump = "DROP TABLE IF EXISTS $table;n"
  90.          $result = $mysqli->query("SHOW CREATE TABLE $table"); 
  91.          $create = $result->fetch_row();  
  92.          $tabledump .= $create[1].";nn"
  93.    
  94.          $rows = $mysqli->query("SELECT * FROM $table"); 
  95.          $numfields = $rows->num_rows; 
  96.  
  97.             while ($row = $rows->fetch_row()){ 
  98.              $comma = ""
  99.              $tabledump .= "INSERT INTO $table VALUES("
  100.               for($i = 0; $i < $numfields$i++) 
  101.               { 
  102.                  $tabledump .= $comma."'".mysql_escape_strin 
  103. g($row[$i])."'"
  104.                  $comma = ","
  105.               } 
  106.              $tabledump .= ");n"
  107.           } 
  108.          $tabledump .= "n"
  109.    
  110.           return $tabledump
  111.       } 
  112. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保康县| 白银市| 临夏县| 湖南省| 琼结县| 高密市| 顺昌县| 敦煌市| 瑞安市| 渝北区| 吉木萨尔县| 沾益县| 台湾省| 湘乡市| 阜平县| 英超| 两当县| 舞阳县| 霞浦县| 左贡县| 定陶县| 特克斯县| 青铜峡市| 枝江市| 清水县| 深水埗区| 邵阳县| 阜新| 略阳县| 赤峰市| 绍兴市| 海宁市| 武威市| 扶沟县| 密山市| 右玉县| 新安县| 房产| 宜丰县| 夹江县| 吐鲁番市|