導航:首頁 > 編程語言 > php資料庫備份類

php資料庫備份類

發布時間:2024-07-22 07:21:26

❶ thinkphp浣跨敤pclzip鎵撳寘澶囦喚mysql鏁版嵁搴撶殑鏂規硶

鏈鏂囧疄渚嬭茶堪浜唗hinkPHP浣跨敤pclzip鎵撳寘澶囦喚mysql鏁版嵁搴撶殑鏂規硶銆傚垎浜緇欏ぇ瀹朵緵澶у跺弬鑰冿紝鍏蜂綋濡備笅錛
PclZip浠嬬粛
PclZip
library鑳藉熷帇緙╀笌瑙e帇緙㈱ip鏍煎紡鐨勫帇緙╂。(WinZip銆丳KZIP);涓旇兘瀵規ょ被綾繪。妗堣繘琛屽勭悊,鍖呮嫭浜х敓鍘嬬緝妗c佸垪鍑哄帇緙╂。鐨勫唴瀹逛互鍙婅В鍘嬬緝妗f堢瓑絳
鏁版嵁搴撳囦喚鏄涓浠墮潪甯擱噸瑕佺殑浜嬫儏錛屽囦喚鐨勬柟寮忎篃寰堝氭湁鐨勯氳繃vps鐩存帴榪涜屽囦喚銆佹湁鐨勯氳繃phpmyadmin榪涜屾暟鎹榪涜屽囦喚銆傚皬緙栬夊緱榪欎簺璇ラ夯鐑︿簡騫朵笖澶囦喚濂界殑.sql鏂囦歡榪囦簬澶澶у崰鐢ㄤ簡涓瀹氱殑絀洪棿銆傛墍浠ョ敤pclzip灝唖ql鏂囦歡榪涜屽帇緙╋紝榪欐牱鑺傜渷浜嗕竴閮ㄥ垎絀洪棿銆備箣鍓嶅皬緙栨湁鍐欒繃鏁版嵁搴撳囦喚鐨勪唬鐮佽繖閲屽氨涓嶅啀澶嶈堪錛孭clzip瀹樻柟涓嬭澆鍦板潃錛http://www.phpconcept.net/pclzip/pclzip-downloads錛堟渶鏂扮増鏈2-8-2錛夈
鏈絝欎笅杞藉湴鍧銆
鍦―atabaseAction.class.php鏂囦歡涓鏌ユ壘
file_put_contents鍦ㄤ笅闈㈡坊鍔犲備笅浠g爜
import("ORG.Util.PclZip");
$archive
=
new
PclZip('./data/'.date("y-m-d").'.zip');
$v_list
=
$archive->create($dir);
if(file_exists($dir)&&$v_list
!=
0)
{
$this->success("澶囦喚鎴愬姛&&鍘嬬緝鎴愬姛");
}else
{
die("Error
:
".$archive->errorInfo(true));
$this->error("澶囦喚澶辮觸");
}
騫跺皢鍘熸湁鐨凞atabaseAction.class.php涓鍘熸湁if鍒ゆ柇鍒犻櫎
鏇村氬叧浜巘hinkPHP鐩稿叧鍐呭規劅鍏磋叮鐨勮昏呭彲鏌ョ湅鏈絝欎笓棰橈細銆奝HP鎿嶄綔zip鏂囦歡鍙婂帇緙╂妧宸ф葷粨銆嬨併妏hp鏂囦歡鎿嶄綔鎬葷粨銆嬨併奣hinkPHP鍏ラ棬鏁欑▼銆嬨併奣hinkPHP甯哥敤鏂規硶鎬葷粨銆嬨併妔marty妯℃澘鍏ラ棬鍩虹鏁欑▼銆嬪強銆奝HP妯℃澘鎶鏈鎬葷粨銆嬨
甯屾湜鏈鏂囨墍榪板瑰ぇ瀹跺熀浜嶵hinkPHP妗嗘灦鐨凱HP紼嬪簭璁捐℃湁鎵甯鍔┿

❷ 求thinkphp 資料庫的備份、還原的腳本

一、備份資料庫並下載到本地【db_backup.php】
代碼代碼如下:
<?php
// 設置SQL文件保存文件名
$filename=date("Y-m-d_H-i-s")."-".$cfg_dbname.".sql";
// 所保存的文件名
header("Content-disposition:filename=".$filename);
header("Content-type:application/octetstream");
header("Pragma:no-cache");
header("Expires:0");
// 獲取當前頁面文件路徑,SQL文件就導出到此文件夾
$tmpFile = (dirname(__FILE__))."\\".$filename;
// 用MySQLDump命令導出資料庫
exec("mysqlmp -u$cfg_dbuser -p$cfg_dbpwd --default-character-set=utf8 $cfg_dbname > ".$tmpFile);
$file = fopen($tmpFile, "r"); // 打開文件
echo fread($file,filesize($tmpFile));
fclose($file);
exit;
?>
二、還原資料庫【db_restore.php】
代碼代碼如下:
<form id="form1" name="form1" method="post" action="">
【資料庫SQL文件】:<input id="sqlFile" name="sqlFile" type="file" />
<input id="submit" name="submit" type="submit" value="還原" />
</form>
<?php
// 我的資料庫信息都存放到config.php文件中,所以載入此文件,如果你的不是存放到該文件中,注釋此行即可;
require_once((dirname(__FILE__).'/../../include/config.php'));
if ( isset ( $_POST['sqlFile'] ) )
{
$file_name = $_POST['sqlFile']; //要導入的SQL文件名
$dbhost = $cfg_dbhost; //資料庫主機名
$dbuser = $cfg_dbuser; //資料庫用戶名
$dbpass = $cfg_dbpwd; //資料庫密碼
$dbname = $cfg_dbname; //資料庫名
set_time_limit(0); //設置超時時間為0,表示一直執行。當php在safe mode模式下無效,此時可能會導致導入超時,此時需要分段導入
$fp = @fopen($file_name, "r") or die("不能打開SQL文件 $file_name");//打開文件
mysql_connect($dbhost, $dbuser, $dbpass) or die("不能連接資料庫 $dbhost");//連接資料庫
mysql_select_db($dbname) or die ("不能打開資料庫 $dbname");//打開資料庫
echo "<p>正在清空資料庫,請稍等....<br>";
$result = mysql_query("SHOW tables");
while ($currow=mysql_fetch_array($result))
{
mysql_query("drop TABLE IF EXISTS $currow[0]");
echo "清空數據表【".$currow[0]."】成功!<br>";
}
echo "<br>恭喜你清理MYSQL成功<br>";
echo "正在執行導入資料庫操作<br>";
// 導入資料庫的MySQL命令
exec("mysql -u$cfg_dbuser -p$cfg_dbpwd $cfg_dbname < ".$file_name);
echo "<br>導入完成!";
mysql_close();
}
?>

閱讀全文

與php資料庫備份類相關的資料

熱點內容
霍格沃茨選什麼伺服器 瀏覽:652
大學加密貨幣投資 瀏覽:238
虛擬伺服器如何查路由器埠 瀏覽:236
ipad怎麼增加app拓展塢 瀏覽:254
安卓軟體開發公司如何選擇 瀏覽:664
大型解壓器怎麼做 瀏覽:173
如何保存網頁成PDF 瀏覽:488
linux怎麼編譯內核 瀏覽:432
solidworks入門pdf 瀏覽:819
中國工商銀行app如何看支行 瀏覽:433
wps弄照片到文件夾 瀏覽:463
大眾如何在線編程 瀏覽:787
ipad如何關閉app中的app 瀏覽:442
大腦認知pdf 瀏覽:441
程序員大方 瀏覽:794
怎樣加密微信聊天記錄簡單點 瀏覽:387
python數據類型狀態判斷 瀏覽:47
java文件打開對話框 瀏覽:824
pdf怎麼打勾 瀏覽:21
java資料庫insert 瀏覽:668