ホームページ >バックエンド開発 >PHPチュートリアル >mysqlデータバックアップコード_PHPチュートリアル
mysqlデータバックアップコード /*** * 説明: このタイプは、MYSQL 接続が組み込まれており、簡単なデータ接続設定のみが必要な、小規模な Web サイトのデータベース バックアップに適しています。 * およびバックアップが保存される場所。 * クラスの show_dir_file() メソッドは、バックアップ ディレクトリ内のすべてのファイルを配列の形式で直接返すことができます
mysql チュートリアル データのバックアップ コード
/***
* このタイプのデータベース チュートリアル バックアップは小規模な Web サイトに適していることに注意してください。mysql 接続が組み込まれており、データ接続の簡単な設定のみが必要です
。
* およびバックアップが保存される場所。
* クラスの show_dir_file() メソッドは、バックアップ ディレクトリ内のすべてのファイルを配列形式で直接返すことができます
*メソッド expord_sql() はSQLファイルを直接生成します
* このカテゴリは簡単に作成でき、自由に拡散できます。このカテゴリに関するご提案がございましたら、Xiaoxia までメールをお送りください。
* プロデューサー: Youtian Xiaoxia
*メールアドレス:328742379@qq.com
* **/
public $data_dir = "class/" //バックアップファイルが保存されるパス
;
public $data_name = "111cnnet.sql" //バックアップファイル名
;
private $mysql_host = "localhost" //データベースアドレス
;
private $mysql_user = "root" //ユーザー名
;
private $mysql_pwd = "lpl19881129";
private $mysql_db = "日付" //データベース名
;
private $mysql_code = "gbk" //エンコード方式
;
/***
* **/
関数 __construct(){
$conn = mysql_connect($this->mysql_host,$this->mysql_user,$this->mysql_pwd);
mysql_select_db($this->mysql_db);
mysql_query("セット名 $this->mysql_code");
}
/***
* **/
プライベート関数 set_sql($table){
$tabledump = "$table;n が存在する場合はテーブルを削除";
$createtable = mysql_query("show create table $table");
$create = mysql_fetch_row($createtable);
$tabledump .= $create[1].";nn";
$rows = mysql_query("select * from $table");
$numrows = mysql_num_rows($rows);
while ($row = mysql_fetch_row($rows)){
$comma = "";
$tabledump .= "$table 値に挿入(";
for($i = 0; $i
{
$tabledump .= $comma."'".mysql_escape_string($row[$i])."'";
$comma = ",";
}
$tabledump .= ");n";
}
$tabledump .= "n";
$tabledump を返す;
/***
* **/
パブリック関数 show_dir_file() {
$dir = $this->data_dir;
If(!is_dir($dir)){
if(!mkdir($dir)){
echo "フォルダーが存在しません。フォルダーを作成しようとしましたが、作成に失敗しました。関連する権限がない可能性があります。";
exit();
}その他{
chmod($dir,755);
}
}
if(!is_writable($dir)){
exit();
}
$link = opendir($dir);
echo "リンクの作成に失敗しました";
exit();
}
scandir($dir)を返します;
}
/***
* 4. SQLファイルを生成します
* **/
パブリック関数 expord_sql(){
$this->show_dir_file();
$result = mysql_list_tables($this->mysql_db);
while($arr = mysql_fetch_row($result)){
$tables .= $this->set_sql($arr[0]);
}
$file = $this->data_dir.$this->data_name;
$link = fopen($file,"w+");
if(!is_writable($file)){
echo "ファイルに書き込めません";
exit();
}
fwrite($link,$tables);
fclose($link);
echo "バックアップが成功しました";
}
}