首页 php教程 php手册 mysql 数据备份类代码

mysql 数据备份类代码

Jun 13, 2016 am 10:07 AM
mysql 代码 备份 数据备份 数据库 说明

mysql 数据备份类代码 /*** * 说明,该类适用于小型的网站的数据库备份,内置MYSQL连接,只需要简单配置数据连接 * 及存贮备份的位置即可。 * 类中show_dir_file() 方法可直接返回备份目录下的所有文件,返回以数组形式

mysql教程 数据备份类代码
 /***
  * 说明,该类适用于小型的网站的数据库教程备份,内置mysql连接,只需要简单配置数据连接
  * 及存贮备份的位置即可。
  * 类中show_dir_file() 方法可直接返回备份目录下的所有文件,返回以数组形式
  * 方法 expord_sql() 直接生成sql文件
  * 该类制作简单,可任意传播,如何您对该类有什么提议,请发送邮件给小虾
  * 制作人:游天小虾
  * emial:328742379@qq.com
  * **/

class data {
 public   $data_dir    = "class/";     //备份文件存放的路径
 public   $data_name   = "111cnnet.sql";   //备份文件名
 private  $mysql_host  = "localhost";    //数据库地址
 private  $mysql_user  = "root";     //用户名
 private  $mysql_pwd   = "lpl19881129";    //密码
 private  $mysql_db    = "date";     //数据库名
 private  $mysql_code  = "gbk";      //编码方式

/***
 * 1.连接数据库
 * **/
 function __construct(){
  $conn = mysql_connect($this->mysql_host,$this->mysql_user,$this->mysql_pwd);
  mysql_select_db($this->mysql_db);
  mysql_query("set names $this->mysql_code");
 }

/***
 * 2.生成sql语句
 * **/
 private function set_sql($table){
  $tabledump = "drop table if exists $table;n";
  $createtable = mysql_query("show create table $table");
  $create = mysql_fetch_row($createtable);
  $tabledump .= $create[1].";nn";

  $rows = mysql_query("select * from $table");
  $numfields = mysql_num_fields($rows);
  $numrows = mysql_num_rows($rows);
  while ($row = mysql_fetch_row($rows)){
     $comma = "";
     $tabledump .= "insert into $table values(";
     for($i = 0; $i      {
    $tabledump .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
     }
     $tabledump .= ");n";
  }
  $tabledump .= "n";

  return $tabledump;
   }

/***
 * 3.显示存放目录下已经备份的文件
 * **/
    public function show_dir_file() {
  $dir = $this->data_dir;
     if(!is_dir($dir)){
   if(!mkdir($dir)){
    echo "文件夹不存在,尝试创建文件夹,创建失败,可能是您没有相关权限";
    exit();
   }else{
    chmod($dir,755);
   }
     }

  if(!is_writable($dir)){
   echo " 文件不可写";
   exit();
  }

  $link = opendir($dir);
  if(!$link){
   echo "创建链接失败";
   exit();
  }
  return scandir($dir);
    }

/***
 * 4.生成sql文件
 * **/
    public function 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 "备份成功";
    }

}

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何优化 PHP 中的 MySQL 查询性能? 如何优化 PHP 中的 MySQL 查询性能? Jun 03, 2024 pm 08:11 PM

如何优化 PHP 中的 MySQL 查询性能?

如何在 PHP 中使用 MySQL 备份和还原? 如何在 PHP 中使用 MySQL 备份和还原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 备份和还原?

如何使用 PHP 插入数据到 MySQL 表中? 如何使用 PHP 插入数据到 MySQL 表中? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入数据到 MySQL 表中?

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 Dec 09, 2024 am 11:42 AM

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误

如何在 PHP 中使用 MySQL 存储过程? 如何在 PHP 中使用 MySQL 存储过程? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 存储过程?

清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命 清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命 Jun 12, 2024 pm 08:38 PM

清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命

如何使用 PHP 创建 MySQL 表? 如何使用 PHP 创建 MySQL 表? Jun 04, 2024 pm 01:57 PM

如何使用 PHP 创建 MySQL 表?

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

在PHP中使用MySQLi建立数据库连接的详尽教程

See all articles