ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してバックアップ データベース ZIP を実装し、export_PHP チュートリアルを実行する
一部の PHP オープンソース システムでは、次のように、データベースをバックアップしてエクスポートする方法がよく見られます。実際、コードは複雑ではありません。
WINDOWSを例にして大まかに説明すると、2つの方法があります。1つは、ディレクトリフォルダにスクリプトを実行する権限が必要です
。
それぞれに許可はありません。コードは次のとおりです:
Javaコード
1.
2.
3. $ユーザー名 = "ルート";
4. $パスワード = ""
;
5. $hostname = "ローカルホスト";
6. $dbname = "テスト";
7.
8.
9. $dumpfname = $dbname . date("Y-m-d_H-i-s")
10. $command = "C:\xampp\mysql\bin\mysqldump --add-drop-table --host=$hostname
11. --user=$username ";
12. if ($password)
13. $command.= "--password="." ";
14. $command.= $dbname
15. $command.= " > " . $dumpfname;
16. システム($コマンド);
17.
18. // データファイルを圧縮します
19. $zipfname = $dbname . date("Y-m-d_H-i-s")
20. $zip = 新しい ZipArchive();
21. if($zip->open($zipfname,ZIPARCHIVE::CREATE))
22. {
23. $zip->addFile($dumpfname,$dumpfname);
24. $zip->close();
25. }
26.
27. // zip ファイルを読み取り、標準出力に送信します
28. if (file_exists($zipfname)) {
29. header('コンテンツの説明: ファイル転送');
30. header('Content-Type: application/octet-stream');
31. header('Content-Disposition:attachment; filename='.basename($zipfname));
32. フラッシュ();
33. readfile($zipfname);
34. 出口
35. }
36.?>
方法 2: フォルダーに関連する権限がありません
Javaコード
1.
2.ob_start();
3.
4. $ユーザー名 = "ルート";
5. $パスワード = ""
;
6. $hostname = "ローカルホスト";
7. $dbname = "テスト";
8.
9. $command = "C:\xampp\mysql\bin\mysqldump --add-drop-table --host=$hostname
10. --user=$username ";
11. if ($password)
12. $command.= "--password="." ";
13. $command.= $dbname
14. システム($コマンド);
15.
16. $dump = ob_get_contents();
17. ob_end_clean();
18.
19.
21. header('コンテンツの説明: ファイル転送');
22. header('Content-Type: application/octet-stream');
23. header('Content-Disposition:attachment; filename='.basename($dbname . "_" .
24. date("Y-m-d_H-i-s").".sql"));
25.フラッシュ();
26. エコー $ダンプ
27. exit();]]>
28.?>
ジャッキーロンより抜粋