In some open-source PHP systems, we often see methods for backing up and exporting databases. In fact, the Code is not complex. below
Take WINDOWS as an example. There are two methods: one is that the directory folder must have the permission to execute scripts,
The Code is as follows:
1)
Java code
1. <? Php
2.
3. $ username = "root ";
4. $ password = "";
5. $ hostname = "localhost ";
6. $ dbname = "test ";
7.
8.
9. $ dumpfname = $ dbname. "_". date ("Y-m-d_H-i-s"). ". SQL ";
10. $ command = "C: \ xampp \ mysql \ bin \ mysqldump -- add-drop-table -- host = $ hostname
11. -- user = $ username ";
12. if ($ password)
13. $ command. = "-- password =". $ password ."";
14. $ command. = $ dbname;
15. $ command. = ">". $ dumpfname;
16. system ($ command );
17.
18. // zip Data File
19. $ zipfname = $ dbname. "_". date ("Y-m-d_H-i-s"). ". zip ";
20. $ zip = new ZipArchive ();
21. if ($ zip-> open ($ zipfname, ZIPARCHIVE: CREATE ))
22 .{
23. $ zip-> addFile ($ dumpfname, $ dumpfname );
24. $ zip-> close ();
25 .}
26.
27. // read zip file and send it to standard output
28. if (file_exists ($ zipfname )){
29. header ('content-Description: File Transfer ');
30. header ('content-Type: application/octet-stream ');
31. header ('content-Disposition: attachment; filename = '. basename ($ zipfname ));
32. flush ();
33. readfile ($ zipfname );
34. exit;
35 .}
36.?>
Method 2: The folder has no related permissions.
Java code
1. <? Php
2. ob_start ();
3.
4. $ username = "root ";
5. $ password = "";
6. $ hostname = "localhost ";
7. $ dbname = "test ";
8.
9. $ command = "C: \ xampp \ mysql \ bin \ mysqldump -- add-drop-table -- host = $ hostname
10. -- user = $ username ";
11. if ($ password)
12. $ command. = "-- password =". $ password ."";
13. $ command. = $ dbname;
14. system ($ command );
15.
16. $ dump = ob_get_contents ();
17. ob_end_clean ();
18.
19.
20. // No ZIP
21. header ('content-Description: File Transfer ');
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. flush ();
26. echo $ dump;
27. exit ();]>
28.?>
From jackyrong