導航:首頁 > 編程語言 > 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資料庫備份類相關的資料

熱點內容
幼兒編程教育培訓多少錢 瀏覽:404
經常生氣有什麼東西能解壓 瀏覽:901
代理伺服器地址和埠可以怎麼填 瀏覽:63
unity5手游編譯模型 瀏覽:265
安卓無人機app源碼 瀏覽:808
pl1編程語言 瀏覽:801
台達plc編程換算指令大全 瀏覽:174
手機上的編程游戲 瀏覽:108
伺服器密碼機有什麼用 瀏覽:477
dos磁碟命令 瀏覽:955
單片機cpu52的功能 瀏覽:691
opc伺服器怎麼開發 瀏覽:373
覓喜是個什麼app 瀏覽:402
加密cd機 瀏覽:946
社保用什麼app繳納 瀏覽:313
nodevlinux 瀏覽:582
騰訊tt伺服器怎麼登錄密碼 瀏覽:898
windows命令提示符 瀏覽:352
win7管理員許可權命令 瀏覽:729
地圖app哪個適合老年人用 瀏覽:74