PHP mysql备份与恢复的类实例详解

 更新时间:2016年11月25日 15:40  点击:1596
下面转一站长写的PHP mysql备份与恢复的类实例了,这里面主要用到的是一个数据备份类与一个文件上传类了,我们结合它们两个就可以实现数据备份与文件恢复上传功能了,具体方法如下图所示。

今天推荐的精品PHP代码就是mysql备份与恢复的类了,在一般的PHP网站中都会有在线mysql备份与恢复,这样做的好处是不用每次备份都要使用 phpmyadmin 或者是客户端的工具了,使用时将备份恢复的类 dbback.class.php 进行实例化就可以使用了。

这里直接附上该类作者的说明了:该类适用于小型的网站的数据库备份,内置MYSQL连接,只需要简单的配置数据库连接及存贮备份的位置即可,类实例化并且连接数据库以后可执行以下操作:

 代码如下 复制代码

* get_db_table($database) 取得所有数据表

* export_sql($table,$subsection=0)) 生成sql文件,注意生成sql文件只保存到服务器目录,不提供下载

* import_sql($dir) 恢复数据只导入服务器目录下的sql文件

包里作者文件的说明如下:

一、之前有发过一个mysql的备份类,但是只有备份功能,今天花了点时间,对该类进行重写, 1.新增读取数据库内所有表格 2.新增mysql在线恢复 3.修改了mysql的下载试为保存到服务器,该类具有很强的灵活性与易用性,附上两张实际开发中的应用效果.

二、另外附加前几天写的一个文件上传类,类中有附说明

 代码如下 复制代码

<?php
 /**
 * 类名:upfile
 * 作用:处理文件上传
 * 说明,该类处理单个或者多个文件上传,使用该类时,只需要实列化该类
 * 例:
 * $up = upfile()
 * $up->update_file($_FILE['filename'])
 *
 * $up->update_file   函数返回一个数组,如果是多文件上传,则为多维数据。
 * 数组的内容:
 * $fileInfo['file_size']   上传文件的大小
 * $fileInfo['file_suffix'] 上传文件的类型
 * $fileInfo['file_name']   上传文件的名字
 * $fileInfo['error']     上传文件产生的错误
 *
 * @author 赵红健[游天小虾]
 * email:328742379@qq.com
 * qq交流群:69574955 聚义堂-网页制作交
 */
class upfile {
 public $fCount = 1;           //上传文件的数量
 public $fType  = array('jpg','jpeg','gif','png');  //文件格式
 public $fSize  = 1024;          //文www.111cn.Net件大小单位kb
 public $fDir   = 'test/';         //文件存放目录
 public $errorMsg = '';          //产生的临时错误信息�ļ��ϴ�����Ĵ���

 /**
  *函数名:get_tmp_file($putFile)
  *作用:取得上传的临时文件名
  *@param array $putFile
  *@return string $upImg 返回临时文件名
  */
  function get_tmp_file($putFile){
  if($this->fCount == 1){
   $tmpFile = $putFile['tmp_name'];
  }else{
   for($i=0;$i<$this->fCount;$i++){
    $tmpFile[] = $putFile['tmp_name'][$i];
   }
  }
  return $tmpFile;
  }

 /**
  *函数名:get_suffix($fileName)
  *作用:取得文件的后缀名
  *@param file $fileName
  *@return string $suffixName 返回后缀名
  */
  function get_suffix($fileName){
  $link = pathinfo($fileName);
     $suffixName = strtolower($link['extension']);
     return $suffixName;
  }

 /**
  *验证文件大小
  *@author 赵红健
  *@param $fileSize
  *@return booln
  */
 function check_file_size($fileSize){
  $this->errorMsg = '';
  if($fileSize/1000 > $this->fSize){
   $this->errorMsg = '警告:文件超出大小!';
   return false;
  }else{
   return true;
  }
 }

 /**
  *验证文件类型是否合法
  *@author 赵红健
  *@param $fileSuffix
  *@return booln
  */
 function check_file_suffix($fileSuffix){
   $this->errorMsg = '';
   if(!in_array($fileSuffix,$this->fType)){
    $this->errorMsg = '警告:文件类型不在允许范围内!';
    return false;
   }else{
    return true;
   }
 }

 /**
  *移动临时文件
  *@author 赵红健
  *@param $fileSuffix
  *@return booln
  */
 function move_temp_file($tmpFile,$targetFile){
   $this->errorMsg = '';
   if(!move_uploaded_file($tmpFile,$targetFile)){
    $this->errorMsg = '警告:文件移动失败!';
    return false;
   }else{
    return true;
   }
 }


     /**
   *函数名:update_file($putFile)
   *作用:上传文件
   *@param array $putFile
   *@return array 文件信息
   */
    function update_file($putFile){
   $tmpFile = $this->get_tmp_file($putFile);
   if(!file_exists($this->fDir)){
       $this->errorMsg[] = '错误:目录'.$this->fDir.'不存在';
    return $this->errorMsg;
   }
   $this->fDir = substr($this->fDir,strlen($this->fDir)-1,1)=='/'?$this->fDir:$this->fDir.'/';
   if(!is_array($putFile['size'])){
    $fileInfo['file_size'] = $putFile['size'];
    if(!$this->check_file_size($fileInfo['file_size'])){
     $fileInfo['error'] = $this->errorMsg;
     return $fileInfo;
    }
    $fileInfo['file_suffix'] = $this->get_suffix($putFile['name']);
    if(!$this->check_file_suffix($fileInfo['file_suffix'])){
     $fileInfo['error'] = $this->errorMsg;
     return $fileInfo;
    }

    $fileInfo['file_name']   = date('ymdhms').'.'.$fileInfo['file_suffix'];
    if(!$this->move_temp_file($tmpFile,$this->fDir.$fileInfo['file_name'])){
     $fileInfo['error'] = $this->errorMsg;
     return $fileInfo;
    }
    return $fileInfo;

   }else{
    for($i=0;$i<$this->fCount;$i++){
     $fileInfo[$i]['file_size'] = $putFile['size'][$i];
     if(!$this->check_file_size($fileInfo[$i]['file_size'])){
      $fileInfo[$i]['error'] = $this->errorMsg;
      continue;
     }

     $fileInfo[$i]['file_suffix'] = $this->get_suffix($putFile['name'][$i]);
     if(!$this->check_file_suffix($fileInfo[$i]['file_suffix'])){
      $fileInfo[$i]['error'] = $this->errorMsg;
      continue;
     }

     $fileInfo[$i]['file_name']  = date('ymdhms').rand().'.'.$fileInfo[$i]['file_suffix'];
     if(!$this->move_temp_file($tmpFile[$i],$this->fDir.$fileInfo[$i]['file_name'])){
      $fileInfo[$i]['error'] = $this->errorMsg;
      continue;
     }
     }
    return $fileInfo;
   }
    }
}

?>

备份类

 代码如下 复制代码

 <?php
 /**
  * 说明,该类适用于小型的网站的数据库备份,内置MYSQL连接,只需要简单配置数据连接
  * 及存贮备份的位置即可。
  * 类实列化并且连接数据库以后可执行以下操作
  * get_db_table($database)    取得所有数据表
  * export_sql($table,$subsection=0))   生成sql文件,注意生成sql文件只保存到服务器目录,不提供下载
  * import_sql($dir)     恢复数据只导入服务器目录下的sql文件
  * 该类制作简单,可任意传播,如何您对该类有什么提议,请发送邮件给小虾
  * @author 赵红健[游天小虾]
  * email:328742379@qq.com
  * qq交流群:69574955 聚义堂-网页制作交
  */

class data {
 public   $data_dir    = "class/"; //备份文件存放的路径
 public   $transfer     ="";   //临时存放sql[切勿不要对该属性赋值,否则会生成错误的sql语句]

/**
 *数据库连接
 *@param string $host 数据库主机名
 *@param string $user 用户名
 *@param string $pwd  密码
 *@param string $db   选择数据库名
 *@param string $charset 编码方式
 */
 function connect_db($host,$user,$pwd,$db,$charset='gbk'){
  if(!$conn = mysql_connect($host,$user,$pwd)){
   return false;
  }
  mysql_select_db($db);
  mysql_query("set names $charset");
  return true;
 }

/**
 * 生成sql语句
 * @param   $table     要备份的表
 * @return  $tabledump 生成的sql语句
 */
 public function set_sql($table,$subsection=0,&$tableDom=''){
  $tableDom .= "DROP TABLE IF EXISTS $tablen";
  $createtable = mysql_query("SHOW CREATE TABLE $table");
  $create = mysql_fetch_row($createtable);
  $create[1] = str_replace("n","",$create[1]);
  $create[1] = str_replace("t","",$create[1]);

  $tableDom  .= $create[1].";n";

  $rows = mysql_query("SELECT * FROM $table");
  $numfields = mysql_num_fields($rows);
  $numrows = mysql_num_rows($rows);
  $n = 1;
  $sqlArry = array();
  while ($row = mysql_fetch_row($rows)){
     $comma = "";
     $tableDom  .= "INSERT INTO $table VALUES(";
     for($i = 0; $i < $numfields; $i++)
     {
    $tableDom  .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
     }
    $tableDom  .= ")n";
     if($subsection != 0 && strlen($this->transfer )>=$subsection*1000){
       $sqlArry[$n]= $tableDom;
       $tableDom = ''; $n++;
     }
  }
  return $sqlArry;
   }

/**
 *列表数据库中的表
 *@param  database $database 要操作的数据库名
 *@return array    $dbArray  所列表的数据库表
 */
 public function get_db_table($database){
  $result = mysql_list_tables($database);
  while($tmpArry = mysql_fetch_row($result)){
   $dbArry[]  = $tmpArry[0];
  }
  return $dbArry;
 }

/**
 *验证目录是否有效
 *@param diretory $dir
 *@return booln
 */
 function check_write_dir($dir){
  if(!is_dir($dir)) {@mkdir($dir, 0777);}
  if(is_dir($dir)){
   if($link = opendir($dir)){
    $fileArry = scandir($dir);
    for($i=0;$i<count($fileArry);$i++){
     if($fileArry[$i]!='.' || $fileArry != '..'){
      @unlink($dir.$fileArry[$i]);
     }
    }
   }
  }
  return true;
 }
/**
 *将数据写入到文件中
 *@param file $fileName 文件名
 *@param string $str   要写入的信息
 *@return booln 写入成功则返回true,否则false
 */
 private function write_sql($fileName,$str){
  $re= true;
  if(!@$fp=fopen($fileName,"w+")) {$re=false; echo "在打开文件时遇到错误,备份失败!";}
  if(!@fwrite($fp,$str)) {$re=false; echo "在写入信息时遇到错误,备份失败!";}
  if(!@fclose($fp)) {$re=false; echo "在关闭文件 时遇到错误,备份失败!";}
  return $re;
 }

/**
 *生成www.111cn.net sql文件
 *@param string $sql sql    语句
 *@param number $subsection 分卷大小,以KB为单位,为0表示不分卷
 */
     public function export_sql($table,$subsection=0){
      if(!$this->check_write_dir($this->data_dir)){echo '您没有权限操作目录,备份失败';return false;}
      if($subsection == 0){
       if(!is_array($table)){
    $this->set_sql($table,0,$this->transfer);
   }else{
    for($i=0;$i<count($table);$i++){
     $this->set_sql($table[$i],0,$this->transfer);
    }
   }
       $fileName = $this->data_dir.date("Ymd",time()).'_all.sql';
       if(!$this->write_sql($fileName,$this->transfer)){return false;}
      }else{
       if(!is_array($table)){
    $sqlArry = $this->set_sql($table,$subsection,$this->transfer);
    $sqlArry[] = $this->transfer;
   }else{
    $sqlArry = array();
    for($i=0;$i<count($table);$i++){
     $tmpArry = $this->set_sql($table[$i],$subsection,$this->transfer);
     $sqlArry = array_merge($sqlArry,$tmpArry);
    }
    $sqlArry[] = $this->transfer;
   }
       for($i=0;$i<count($sqlArry);$i++){
        $fileName = $this->data_dir.date("Ymd",time()).'_part'.$i.'.sql';
        if(!$this->write_sql($fileName,$sqlArry[$i])){return false;}
       }
      }
      return true;
    }
/**
 *载入sql文件
 *@param diretory $dir
 *@return booln
 *注意:请不在目录下面存放其它文件,或者目录
 *以节省恢复时间
 */
    public function import_sql($dir){
  if($link = opendir($dir)){
   $fileArry = scandir($dir);
    $pattern = "_part[0-9]+.sql$|_all.sql$";
   for($i=0;$i<count($fileArry);$i++){
    if(eregi($pattern,$fileArry[$i])){
     $sqls=file($dir.$fileArry[$i]);
     foreach($sqls as $sql){
      str_replace("r","",$sql);
      str_replace("n","",$sql);
      if(!mysql_query(trim($sql))) return false;
     }
    }
   }
   return true;
  }
    }

}

//$d = new data();

//连接数据库
//if(!$d->connect_db('localhost','root','','guestbook','gbk')){
// echo '数据库连接失败';
//}

//查找数据库内所有数据表
//$tableArry = $d->get_db_table('guestbook');

//备份并生成sql文件
//if(!$d->export_sql($tableArry)){
// echo '备份失败';
//}else{
// echo '备份成功';
//}

//恢复导入sql文件夹
//if($d->import_sql($d->data_dir)){
// echo '恢复成功';
//}else{
// echo '恢复失败';
//}
?>

下面整理了一些关于PHP计算两个时间差的例子,希望这些例子能帮助你解决你在日期时间差之间的一些困扰哦,下面我们一起来看看吧。

例子1

 代码如下 复制代码

<?php
//$startdate是开始时间,$enddate是结束时间

$startdate="2011-3-15 11:50:00";
$enddate="2012-12-12 12:12:12";
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo $date."天<br>";
echo $hour."小时<br>";
echo $minute."分钟<br>";
echo $second."秒<br>";
 ?>

例子2

 代码如下 复制代码

<?php
$one = strtotime('2011-05-08 07:02:40');//开始时间 时间戳
$tow = strtotime('2012-12-25 00:00:00');//结束时间 时间戳
$cle = $tow - $one; //得出时间戳差值

/* 这个只是提示
echo ceil($cle/60); //得出一共多少分钟
echo ceil($cle/3600); //得出一共多少小时
echo ceil($cle/3600/24); //得出一共多少天
*/
/*ceil()函数,即进一法取整*/
$d = cell($cle/3600/24);
$h = cell(($cle%(3600*24))/3600);  //%取余
$m = cell(($cle%(3600*24))/60);

echo "两个时间相差 $d 天 $h 小时 $m 分"
?>

总结,两个例子都使用到了strtotime函数把日期转换在时间戳之后再除以86400等操作来算出两个日期之间相差多少时间,从天数据到秒都计算机出来了。

一个PHP验证Email和IP地址例子,非常的简单好用希望对各位朋友会带来帮助哦。

检查一个用户是否输入了一个有效的email地址,最简单的方法就是使用PHP的内建函数filter_var(),它能够检验email地址。

 代码如下 复制代码

<?php

filter_var('sgamgee@example.com', FILTER_VALIDATE_EMAIL);

// Returns "sgamgee@example.com". This is a valid email address.

filter_var('sauron@mordor', FILTER_VALIDATE_EMAIL);

// Returns boolean false! This is *not* a valid email address.

?>

在php页面加服务器端用户验证时碰到使用session页面出现Warning: session_start() [function.session-start]: Cannot send session cache limiter...错误了,在网上看了一圈发现方法很简单。

今天在使用php 的session 的时候,出现了如下提示:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started ..

因为在session_start(); 语句之前有其他的html代码

解决办法:

修改php.ini中的session.auto_start = 0 为 session.auto_start = 1


设置变量

 代码如下 复制代码

session_register("user");
$_SESSION["user"]=$name;

获取

session_start();
echo $_SESSION["user"];

如果上面还是无法解决我们可以看看是不是编码问题。

1、将出错档案转换为 UTF-8 编码无 BOM 格式(我一般是用 Notepad++ 来转)
2、以 ob_start() 开启缓?区将输出资讯写入缓?区,可避免 headers 先于 session_start() 输出

 代码如下 复制代码

<?php
ob_start()
echo "test"
session_start()
ob_end_flush()
?>

补充有朋友说:session.save_path = "C:/phpsession" [后边的路径自己设置,并且要保证存在,其实这个是错误的了我们配置好php时就己经配置好了,如果其它程序没有问题千万不要去修改session.save_path保存路径了。

php中异步处理数据我们最简单的方法就是使用fsockopen了,下面我来介绍基于fsockopen函数实现的异步处理,希望对各位会带来帮助。

例子

test.php

 代码如下 复制代码

<?php


$domain = "localhost";
$url = '/platform_php_sdk/test4.php';
$header = "POST $url HTTP/1.0\r\n";
$header .= "Content-Type:application/x-www-form-urlencoded\r\n";

$par = "email=zhangzenglun@163.com";

$header .="Content-Length:".strlen($par)."\r\n\r\n";
$fp = @fsockopen($domain,80,$errno,$errstr,30);
fputs($fp, $header.$par);
fclose($fp);

echo 'send ok!';

?>

test4.php

 代码如下 复制代码

<?php

set_time_limit ( 0 );
ignore_user_abort ( true );
$i = 0;
while ( $i ++ < 50 ) {
file_put_contents ( $i . '.php', $_REQUEST['email'].$i);
sleep ( 3 );
}

?>

补充一个异步处理类

该类可以请求HTTP和HTTPS协议,还可以处理301、302重定向以及GZIP压缩等。
代码如下
asynHandle.class.php:

 代码如下 复制代码

<?php


class AsynHandle {
    public        $url        = '';        //传入的完整请求url,包括"http://"或"https://"
    public        $cookie        = array();    //传入的cookie数组,须是键值对
    public        $post        = array();    //传入的post数组,须是键值对
    public        $timeout    = 30;        //超时秒数
    public        $result        = '';        //获取到的数据
  
    private        $gzip        = true;        //是否开启gzip压缩
    private        $fop        = NULL;        //fsockopen资源句柄
    private        $host        = '';        //主机
    private        $port        = '';        //端口
    private        $referer    = '';        //伪造来路
    private        $requestUri    = '';        //实际请求uri
    private        $header        = '';        //头信息
  
    private        $block        = 1;        //网络流状态.1为阻塞,0为非阻塞
    private        $limit        = 128;        //读取的最大字节数  
  
    //构造函数
    public function __construct(){
        ignore_user_abort(TRUE);//忽略用户中断.如果客户端断开连接,不会引起脚本abort
        //set_time_limit(0);//取消脚本执行延时上限
    }
    //解析URL并创建资源句柄
    private function analyzeUrl(){
        if ($this->url == ''){return false;}
        $url_array = parse_url($this->url);
        !isset($url_array['host']) && $url_array['host'] = '';   
        !isset($url_array['path']) && $url_array['path'] = '';   
        !isset($url_array['query']) && $url_array['query'] = '';   
        !isset($url_array['port']) && $url_array['port'] = 80;
      
        $this->host            = $url_array['host'];
        $this->port            = $url_array['port'];
        $this->referer        = $url_array['scheme'].'://'.$this->host.'/';
        $this->requestUri    = $url_array['path'] ?
                            $url_array['path'].($url_array['query'] ? '?'.$url_array['query'] : '') : '/';
      
        switch($url_array['scheme']){
            case 'https':
                $this->fop    = fsockopen('ssl://'.$this->host, 443, $errno, $errstr, $this->timeout);
                break;
            default:
                $this->fop    = fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout);
                break;
        }
      
        if(!$this->fop){
            $this->result    = "$errstr ($errno)<br />\n";
            return false;
        }
        return true;
    }//analyzeUrl end
  
    //拼装HTTP的header
    private function assHeader(){
        $method = empty($this->post) ? 'GET' : 'POST';
        $gzip = $this->gzip ? 'gzip, ' : '';
      
        //cookie数据
        if(!empty($htis->cookie)){
            $htis->cookie = http_build_cookie($htis->cookie);
        }
      
        //post数据
        if(!empty($this->post)){          
            $this->post = http_build_query($this->post);
        }
      
        $header    = "$method $this->requestUri HTTP/1.0\r\n";
        $header    .= "Accept: */*\r\n";
        $header    .= "Referer: $this->referer\r\n";
        $header    .= "Accept-Language: zh-cn\r\n";
        if(!empty($this->post)){
            $header    .= "Content-Type: application/x-www-form-urlencoded\r\n";
        }
        $header    .= "User-Agent: $_SERVER[HTTP_USER_AGENT]\r\n";
        $header    .= "Host: $this->host\r\n";
        if(!empty($this->post)){
            $header    .= 'Content-Length: '.strlen($this->post)."\r\n";
        }
        $header    .= "Connection: Close\r\n";
        $header    .= "Accept-Encoding: {$gzip}deflate\r\n";
        $header    .= "Cookie: $this->cookie\r\n\r\n";
        $header    .= $this->post;
        $this->header    = $header;
    }//assHeader end
  
    //返回状态检测,301、302重定向处理
    private function checkRecvHeader($header){
        if(strstr($header,' 301 ') || strstr($header,' 302 ')){//重定向处理
            preg_match("/Location:(.*?)$/im",$header,$match);
            $url = trim($match[1]);
            preg_match("/Set-Cookie:(.*?)$/im",$header,$match);
            $cookie    = (empty($match)) ? '' : $match[1];
          
            $obj            = new AsynHandle();
            $result            = $obj->Get($url, $cookie, $this->post);
            $this->result    = $result;
            return $result;
        }elseif(!strstr($header,' 200 ')){
            //找不到域名或网址
            return false;
        }else return 200;
    }//checkRecvHeader end
  
    //gzip解压
    private function gzdecode($data){
        $flags = ord(substr($data, 3, 1));
        $headerlen = 10;
        $extralen = 0;
        $filenamelen = 0;
        if ($flags & 4) {
            $extralen = unpack('v' ,substr($data, 10, 2));
            $extralen = $extralen[1];
            $headerlen += 2 + $extralen;
        }
        if ($flags & 8) $headerlen = strpos($data, chr(0), $headerlen) + 1;
        if ($flags & 16) $headerlen = strpos($data, chr(0), $headerlen) + 1;
        if ($flags & 2) $headerlen += 2;
        $unpacked = @gzinflate(substr($data, $headerlen));
        if ($unpacked === FALSE) $unpacked = $data;
        return $unpacked;
    }//gzdecode end
  
    //请求函数,只请求,不返回
    public function Request($url, $cookie=array(), $post=array(), $timeout=3){
        $this->url        = $url;
        $this->cookie    = $cookie;
        $this->post        = $post;
        $this->timeout    = $timeout;
      
        if(!$this->analyzeUrl()){
            return $this->result;
        }
        $this->assHeader();
      
        stream_set_blocking($this->fop, 0);//非阻塞,无须等待
        fwrite($this->fop, $this->header);
        fclose($this->fop);
        return true;
    }//Request end
  
    //获取函数,请求并返回
    public function Get($url, $cookie=array(), $post=array(), $timeout=30){
        $this->url        = $url;
        $this->cookie    = $cookie;
        $this->post        = $post;
        $this->timeout    = $timeout;
      
        if(!$this->analyzeUrl()){
            return $this->result;
        }
        $this->assHeader();
      
        stream_set_blocking($this->fop, $this->block); 
        stream_set_timeout($this->fop, $this->timeout);
        fwrite($this->fop, $this->header);
        $status = stream_get_meta_data($this->fop);
      
        if(!$status['timed_out']){
            $h='';
            while(!feof($this->fop)){
                if(($header = @fgets($this->fop)) && ($header == "\r\n" ||  $header == "\n")){
                    break;
                }
                $h .= $header;
            }
          
            $checkHttp    = $this->checkRecvHeader($h);
            if($checkHttp!=200){return $checkHttp;}
          
            $stop = false;
            $return = '';
            $this->gzip = false;
            if(strstr($h,'gzip')) $this->gzip = true;
            while(!($stop && $status['timed_out'] && feof($this->fop))){
                if($status['timed_out']) return false;
                $data = fread($this->fop, ($this->limit == 0 || $this->limit > 128 ? 128 : $this->limit));
                if($data == ''){//有些服务器不行,须自行判断FOEF
                    break;
                }
                $return    .= $data;
                if($this->limit){
                    $this->limit -= strlen($data);
                    $stop = $this->limit <= 0;
                }
              
            }
            @fclose($this->fop);
            $this->result    = $this->gzip ? $this->gzdecode($return) : $return;
            return $this->result;
        }else{
            return false;
        }
    }//Get end
}

[!--infotagslink--]

相关文章

  • 华为手机怎么恢复已卸载的应用?华为手机恢复应用教程

    华为手机怎么恢复已卸载的应用?有时候我们在使用华为手机的时候,想知道卸载的应用怎么恢复,这篇文章主要介绍了华为手机恢复应用教程,需要的朋友可以参考下...2020-06-29
  • Linux下MySQL数据库的备份与还原

    深入解析Linux下MySQL数据库的备份与还原...2013-09-11
  • MySQL数据库备份还原方法

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:/Program Files/MySQL/MySQL Server 4.1/bin (或者直接将windows的环境变量path中添加该目录) ...2013-09-26
  • mysql备份的三种方式详解

    一、备份的目的做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用二、备份需要考虑的问题可以容忍丢失多长时间的数据;恢复数据要在多长时间内完; 恢复的时候...2013-10-04
  • PostgreSQL 恢复误删数据的操作

    这篇文章主要介绍了PostgreSQL 恢复误删数据的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-18
  • 快速理解MySQL中主键与外键的实例教程

    主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php&#63;id=1 表示我要访问的是帖子...2015-11-24
  • C#中进程的挂起与恢复

    这篇文章主要介绍了C#中进程的挂起与恢复操作方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • c# 接口使用实例

    这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
  • yii添删改查实例

    一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
  • php实例分享之mysql数据备份

    备份:表结构和数据完全分开,默认有一个文件会记录所有表的结构,然后表中数据的备份 如果超过分卷的大小则会分成多个文件,不然则一个文件,参考了别人的代码,不过写的嘛,差强 人意,以后慢慢改吧。。。代码如下:复制代码 代码如...2014-05-31
  • MySQL 从全库备份中恢复指定的表和库示例

    这篇文章主要介绍了MySQL 从全库备份中恢复指定的表和库示例的相关资料,这里提供了相应的方法,来实现恢复指定的表和库数据,需要的朋友可以参考下...2016-12-02
  • MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复)

    这篇文章主要介绍了MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复),需要的朋友可以参考下...2016-04-26
  • c实现linux下的数据库备份

    本文给大家简单介绍下c实现linux下的数据库备份的方法和具体的源码,十分的实用,有需要的小伙伴可以参考下。...2020-04-25
  • C#中的IEnumerable简介及简单实现实例

    这篇文章主要介绍了C#中的IEnumerable简介及简单实现实例,本文讲解了IEnumerable一些知识并给出了一个简单的实现,需要的朋友可以参考下...2020-06-25
  • MySQL备份恢复设计思路

    这篇文章主要介绍了MySQL备份恢复设计思路,帮助大家更好的维护数据库,感兴趣的朋友可以了解下...2020-10-15
  • delete误删数据使用SCN号恢复(推荐)

    这篇文章主要介绍了使用scn号恢复误删数据问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • 用批处理实现自动备份和清理mysql数据库的代码

    有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本。我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动又该如何实现呢?也很简单,就用windows自带的“任务计划”功能...2013-09-11
  • 三星s5820如何恢复出厂设置

    提示,恢复出厂前我们最好对数据进行一些备份哦,包括:联系人,短信,电话,视频,照片哦,恢复之后手机中的数据就丢失了。 具体方法 1.在待机模式下,点击【应用程序】。 2.点击...2016-09-20
  • MySQL使用xtrabackup进行备份还原操作

    这篇文章主要为大家详细介绍了MySQL如何使用xtrabackup进行备份还原操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-12-02
  • php socket讲解与实例

    在这一章里你将了解到迷人而又让人容易糊涂的套接字(Sockets)。Sockets在PHP中是没有充分利用的功能。今天你将看到产生一个能使用客户端连接的服务器,并在客户端使用sock...2016-11-25