php备份数据库脚本的几个例子
php備份資料庫
利用php备份mysql数据库就是把数据生成.sql文件,这样就算是数据备份成功了,恢复时也可以直接读取再一条条执行即可,下面整理了一些备份例子大家有兴趣的可进来参考.
例子,代码如下:
<?php // 备份数据库 $host = "localhost"; $user = "root"; //数据库账号 $password = ""; //数据库密码 $dbname = "mysql"; //数据库名称 // 这里的账号、密码、名称都是从页面传过来的 if (!mysql_connect($host, $user, $password)) // 连接mysql数据库 { echo '数据库连接失败,请核对后再试'; exit; } if (!mysql_select_db($dbname)) // 是否存在该数据库 { echo '不存在数据库:' . $dbname . ',请核对后再试'; exit; } mysql_query("set names 'utf8'"); $mysql = "set charset utf8;\r\n"; $q1 = mysql_query("show tables"); while ($t = mysql_fetch_array($q1)) { $table = $t[0]; $q2 = mysql_query("show create table `$table`"); $sql = mysql_fetch_array($q2); $mysql.= $sql['Create Table'] . ";\r\n"; $q3 = mysql_query("select * from `$table`"); while ($data = mysql_fetch_assoc($q3)) { $keys = array_keys($data); $keys = array_map('addslashes', $keys); $keys = join('`,`', $keys); $keys = "`" . $keys . "`"; $vals = array_values($data); $vals = array_map('addslashes', $vals); $vals = join("','", $vals); $vals = "'" . $vals . "'"; $mysql.= "insert into `$table`($keys) values($vals);\r\n"; } } $filename = $dbname . date('Ymjgi') . ".sql"; //存放路径,默认存放到项目最外层 $fp = fopen($filename, 'w'); fputs($fp, $mysql); fclose($fp); echo "数据备份成功";
登入後複製
//例子,代码如下:
//!/usr/bin/php <?php header('Content-Type:text/html;charset=utf-8'); define('BACK_PATH', dirname(__FILE__)); /** 为空数组就备份所有数据库 */ $back_databases = array( 'learning', 'wp' ); $mysql_host = 'localhost'; $mysql_user = 'root'; $mysql_passwd = 'root'; if ($conn = mysql_connect($mysql_host, $mysql_user, $mysql_passwd)) { $databases = array(); mysql_select_db('mysql', $conn); $query = mysql_query('show databases', $conn); while ($row = mysql_fetch_array($query)) { if (emptyempty($row)) continue; $database = $row[0]; if (!emptyempty($back_databases) && !in_array($database, $back_databases)) continue; $sql_dir = BACK_PATH . "/{$database}.sql"; $execs = "mysqldump --user={$mysql_user} --password={$mysql_passwd} {$database} > " . $sql_dir; system($execs); if (file_exists($sql_dir . '.gz')) { unlink($sql_dir . '.gz'); } system('gzip ' . $sql_dir); } }
登入後複製
//例子,代码如下:
<?php $host = "##mysql服务器地址##"; $user = "##登录帐号##"; $password = "##登录密码##"; $dbname = "##数据库名##"; $filename = "##备份文件路径##"; mysql_connect($host, $user, $password); mysql_select_db($dbname); $mysql.= "CREATE DATABASE IF NOT EXISTS `" . $dbname . "`;\r\n"; $mysql.= "USE `" . $dbname . "`;\r\n\r\n"; $q0 = mysql_query("set names utf8"); $q1 = mysql_query("show tables"); while ($t = mysql_fetch_array($q1)) { $table = $t[0]; $mysql.= "DROP TABLE IF EXISTS `" . $table . "`;\r\n"; $q2 = mysql_query("show create table `$table`"); $sql = mysql_fetch_array($q2); $mysql.= $sql['Create Table'] . ";\r\n\r\n"; $q3 = mysql_query("select * from `$table`"); while ($data = mysql_fetch_assoc($q3)) { $keys = array_keys($data); $keys = array_map('addslashes', $keys); $keys = join('`,`', $keys); $keys = "`" . $keys . "`"; $vals = array_values($data); $vals = array_map('addslashes', $vals); $vals = join("','", $vals); $vals = "'" . $vals . "'"; $mysql.= "insert into `$table`($keys) values($vals);\r\n"; } $mysql.= "\r\n"; } $fp = fopen($filename, 'wb'); fputs($fp, $mysql); fclose($fp); include_once ('lib/pclzip.lib.php'); $archive = new PclZip($filename . '.zip'); $v_list = $archive->create($filename); if ($v_list == 0) { die("Error : " . $archive->errorInfo(true)); } if (file_exists($filename)) { unlink($filename); } echo "Mysql's backup successfully to " . $filename . ".zip"; ?>
登入後複製
Zip打包备份代码, 几乎就是全抄demo, 太方便了, 代码如下 :
<?PHP include_once('lib/pclzip.lib.php'); $src="##源路径##"; $dest="##目标zip路径##"; $archive = new PclZip($dest); $v_list = $archive->create($src); if ($v_list == 0) { die("Error : ".$archive->errorInfo(true)); }else{ print("Success"); } ?>
登入後複製
pclzip.lib.php这个压缩包文件大家百度去下载这里未提供 .
文章地址:
转载随意^^请带上本文地址!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
如何修復KB5055523無法在Windows 11中安裝?
4 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
4 週前
By DDD
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
如何修復KB5055612無法在Windows 10中安裝?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)