backupsql.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. class backupsql_c extends Control
  3. {
  4. function __construct()
  5. {
  6. parent::Control();
  7. }
  8. function backupsql_c()
  9. {
  10. $this->__construct();
  11. }
  12. function index_f()
  13. {
  14. // $this->createsql();
  15. echo "数据备份程序";
  16. }
  17. function backup_f()
  18. {
  19. //print_r($this->db->host."ok");
  20. $host=$this->db->host;
  21. $user=$this->db->user;
  22. $password=$this->db->pass;
  23. $dbname=$this->db->data;
  24. mysql_connect($host,$user,$password);
  25. mysql_select_db($dbname);
  26. $mysql= "set names utf8;";
  27. mysql_query($mysql);
  28. $q1=mysql_query("show tables");
  29. while($t=mysql_fetch_array($q1)){
  30. $table=$t[0];
  31. $q2=mysql_query("show create table `$table`");
  32. $sql=mysql_fetch_array($q2);
  33. $mysql.=$sql['Create Table'].";\n";
  34. $q3=mysql_query("select * from `$table`");
  35. while($data=mysql_fetch_assoc($q3)){
  36. $keys=array_keys($data);
  37. $keys=array_map('addslashes',$keys);
  38. $keys=join('`,`',$keys);
  39. $keys="`".$keys."`";
  40. $vals=array_values($data);
  41. $vals=array_map('addslashes',$vals);
  42. $vals=join("','",$vals);
  43. $vals="'".$vals."'";
  44. $mysql.="insert into `$table`($keys) values($vals);\n";
  45. }
  46. $mysql.="\n";
  47. }
  48. $filename="backupfiles/".$dbname.date('Ymj')."_".$this->system_time.".sql";
  49. $fp = fopen($filename,'w');
  50. fputs($fp,$mysql);
  51. fclose($fp);
  52. echo "数据备份成功,生成备份文件".$filename;
  53. }
  54. }
  55. ?>