淺析php常用數據庫備份類(2)_PHP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:淺析php實現大文件上傳源代碼一個比較 經典的php大文件上傳源代碼,可成功運行. functionfunction_upload($name,$newname=,$dir=upload) { global$_FILES,$ext; $return=; $time=time(); $upload=trim($_FILES[$name][’tmp_name’]); $upload_name=trim($_FILES[$name][’name’])
| /******************************************************* **方 法 名:RestoreTableStructure **功能描述:還原$this->Database中所有數據表的結構 **輸入參數:無 **輸出參數:無 **返 回 值:- bool<返回為true表示所有數據表的結構還原成功; ** 為false表示全部或部分數據表的結構還原失敗> **作 者:林超旗 **日 期:2007-04-09 **修 改 人: **日 期: ********************************************************/ protected function RestoreTableStructure() { $fileName=$this->DefaultPath."/Install.sql"; if(!file_exists($fileName)){echo "找不到表結構文件,請確認你以前做過備份!";exit;} $fp=fopen($fileName,"r"); $sqlText=fread($fp,filesize($fileName)); //$sqlText=str_replace("\r","",$sqlText); //$sqlText=str_replace("\n","",$sqlText); $sqlArray=explode("; ",$sqlText); try { $count=count($sqlArray); // //數組的最后一個為";",是一個無用的語句, // for($i=1;$i<$count;$i++) { $sql=$sqlArray[$i-1].";"; $result=$this->db->ExecuteSQL($sql); if(!mysql_errno()) { if($i%2==0){echo "數據表".($i/2)."的結構恢復成功!\n";} } else { if($i%2==0) { echo "數據表".($i/2)."的結構恢復失敗!\n"; exit(); } } } } catch(Exception $e) { $this->db->ShowError($e->getMessage()); $this->db->Close(); return false; } } /******************************************************* **方 法 名:ImportData **功能描述:導入$this->Database中所有數據表的數據從與其同名的.txt文件中,源路徑為$DefaultPath **輸入參數:無 **輸出參數:無 **返 回 值:- bool<返回為true表示所有數據表的數據導入成功; ** 為false表示全部或部分數據表的數據導入失敗> **作 者:林超旗 **日 期:2007-04-09 **修 改 人: **日 期: ********************************************************/ function ImportData() { $DataFilesName=$this->GetDataFileName(); $count=count($this->TablesName); //$this->db->ExecuteSQL("set character set gbk"); for ($i=0;$i<$count;$i++) { //$DataFilesName[$i]=str_replace("\\","/",$DataFilesName[$i]) //echo $DataFilesName[$i]; $sqlLoadData="load data infile ’".$DataFilesName[$i]."’ into table ".$this->TablesName[$i]; $sqlCleanData="delete from ".$this->TablesName[$i]; //echo $sql."\n"; try { //$this->db->ExecuteSQL("set character set utf8"); //$this->db->ExecuteSQL("SET NAMES ’utf8’"); $this->db->ExecuteSQL($sqlCleanData); $this->db->ExecuteSQL($sqlLoadData); return true; //echo "數據導入成功!"; } catch (Exception $e) { $this->db->ShowError($e->getMessage()); return false; exit(); } } } /******************************************************* **方 法 名:ExportData **功能描述:導出$this->Database中所有數據表的數據到與其同名的.txt文件中,目標路徑為$DefaultPath **輸入參數:無 **輸出參數:無 **返 回 值:- bool<返回為true表示所有數據表的數據導出成功; ** 為false表示全部或部分數據表的數據導出失敗> ********************************************************/ function ExportData() { $DataFilesName=$this->GetDataFileName(); $count=count($this->TablesName); try { for ($i=0;$i<$count;$i++) { $sql="select * from ".$this->TablesName[$i]." into outfile ’".$DataFilesName[$i]."’"; if(file_exists($DataFilesName[$i])) { unlink($DataFilesName[$i]); } //$this->db->ExecuteSQL("SET NAMES ’utf8’"); $this->db->ExecuteSQL($sql); } return true; //echo "數據導出成功!"; } catch (Exception $e) { $this->db->ShowError($e->getMessage()); return false; exit(); } } /******************************************************* **方 法 名:BackupDatabase **功能描述:備份$this->Database中所有數據表的結構和數據 **輸入參數:無 **輸出參數:無 **返 回 值:- bool<返回為true表示所有數據表的數據庫備份成功; ** 為false表示全部或部分數據表的數據庫備份失敗> ********************************************************/ function BackupDatabase() { try { $this->BackupTableStructure(); $this->ExportData(); return true; } catch (Exception $e) { $this->db->ShowError($e->getMessage()); return false; exit(); } } /******************************************************* **方 法 名:RestoreDatabase **功能描述:還原$this->Database中所有數據表的結構和數據 **輸入參數:無 **輸出參數:無 **返 回 值:- bool<返回為true表示所有數據表的數據庫還原成功; ** 為false表示全部或部分數據表的數據庫還原失敗> ********************************************************/ function RestoreDatabase() { try { $this->RestoreTableStructure(); $this->ImportData(); return true; } catch (Exception $e) { $this->db->ShowError($e->getMessage()); return false; exit(); } } } ?> |
分享:解析PHP如何輸出簡單動態WAP頁面WAP(無線通訊協議)是在數字移動電話、個人手持設備(PDA等)及計算機之間進行通訊的開放性全球標準。WAP應用結構非常類似于Internet,一個典型的WAP應用請求是這樣的:首先,具有WAP用戶代理功能的移動終端(WAP手機等)通過內部運行的微瀏覽器(MicroBrowser
相關PHP教程:
- 相關鏈接:
- 教程說明:
PHP教程-淺析php常用數據庫備份類(2)
。