source/include/databak.php

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
class DataBak {
	public $db_host; //数据库主机
	public $db_user; //数据库用户名
	public $db_pass; //数据库密码
	public $db_name; //数据库名称
	public $datadir; //备份文件存放的路径
	protected $transfer = ''; //临时存放sql[切勿不要对该属性赋值,否则会生成错误的sql语句]
	
	public function __construct($db_host, $db_user, $db_pass, $db_name, $charset = 'utf8') {		
		$this->connect($db_host, $db_user, $db_pass, $db_name, $charset);//连接数据
		$this->datadir = ROOT_PATH.'data/dbbak/';
	}

	/**
	 *数据库连接
	 *@param string $host 数据库主机名
	 *@param string $user 用户名
	 *@param string $pwd  密码
	 *@param string $db   选择数据库名
	 *@param string $charset 编码方式
	 */
	public function connect($db_host, $db_user, $db_pass, $db_name, $charset = 'utf8') {
		$this->db_host = $db_host;
		$this->db_user = $db_user;
		$this->db_pass = $db_pass;
		$this->db_name = $db_name;
		if (!$conn = mysql_connect($db_host, $db_user, $db_pass)) {
			$this->error('无法连接数据库服务器!');
			return false;
		}
		mysql_select_db($this->db_name) or $this->error('选择数据库失败!');
		mysql_query("set names $charset");
		return true;
	}
	
	/**
	 *列表数据库中的表
	 *@param  database $database 要操作的数据库名
	 *@return array    $dbArray  所列表的数据库表
	 */
	public function get_tables($database = '') {
		$database = empty($database) ? $this->db_name : $database;
		$result = mysql_query("SHOW TABLES FROM `$database`") or die(mysql_error());
		$dbarr = array();
		while ($tmparr = mysql_fetch_row($result)){
			 $dbarr[] = $tmparr[0];
		}
		return $dbarr;	
	}
	
	/**
	 *生成sql文件,导出数据库
	 *@param string $sql sql语句
	 *@param number $volsize 分卷大小,以KB为单位,为0表示不分卷
	 */
	public function export_sql($table = '', $volsize = 0) {
		$table = empty($table) ? $this->get_tables() : $table;
     	if(!$this->check_dir($this->datadir)) {
			$this->error('您没有权限操作目录,备份失败!');
后面还有 166 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。