zoukankan      html  css  js  c++  java
  • PHP导出MYSQL数据库并压缩

    PHP可以一键导出MYSQL备份文件,并压缩存放,尽管phpMyAdmin有这功能,不过若你自己开发网站或者是为别人写CMS,你不应该要求别人用你程序的时候再去另外用phpMyAdmin备份MYSQL,这应该是你CMS中的一个功能,那么PHP如何实现一键备份MYSQL数据,这里是指把MYSQL内容全部导出成SQL文件,然后压缩SQL,介绍两种方法如下:

    第一种:

    <?php
    $username = "root";//你的MYSQL用户名
    $password = "";//密码
    $hostname = "localhost";//MYSQL服务器地址
    $dbname   = "cars";//数据库名
    $dumpfname = $dbname . "_" . date("Y-m-d_H-i-s").".sql";
    $command = "C:\xampp\mysql\bin\mysqldump --add-drop-table --host=$hostname --user=$username ";
    if ($password) $command.= "--password=". $password ." ";
    $command.= $dbname;
    $command.= " > " . $dumpfname;
    system($command);
    // 压缩成ZIP文件
    $zipfname = $dbname . "_" . date("Y-m-d_H-i-s").".zip";
    $zip = new ZipArchive();
    if($zip->open($zipfname,ZIPARCHIVE::CREATE))
    {
       $zip->addFile($dumpfname,$dumpfname);
       $zip->close();
    }
    if (file_exists($zipfname)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($zipfname));
        flush();
        readfile($zipfname);
        exit;
    }
    ?>

    上述代码可保存成一个PHP文件,如mysqlbak.php,注意,此文件必须有写权限。为了使用方便,你可以在后台给此文件一个链接,需要导出MYSQL时,你只需点击一下就执行备份导出操作。

    第二种方法:不需要写权限,但不压缩SQL文件,代码如下:

    <?php
    ob_start();
    $username = "root";
    $password = "";
    $hostname = "localhost";
    $dbname   = "test";
    $command = "C:\xampp\mysql\bin\mysqldump --add-drop-table --host=$hostname  --user=$username ";
    if ($password) $command.= "--password=". $password ." ";
    $command.= $dbname;
    system($command);
    $dump = ob_get_contents();
    ob_end_clean();
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($dbname . "_" . date("Y-m-d_H-i-s").".sql"));
    flush();
    echo $dump;
    exit();
    ?>

    两种方法你可以选用一种,同样可将第二种方法保存成mysqlbak.php文件,在后台给个链接,用着方便。

  • 相关阅读:
    Windows JScript 在 游览器 中运行 调试 Shell 文件系统
    autohotkey 符号链接 软连接 symbolink
    软链接 硬链接 测试
    SolidWorks 修改 基准面 标准坐标系
    手机 路径 WebDAV 映射 驱动器
    Win10上手机路径
    explorer 命令行
    单位公司 网络 封锁 屏蔽 深信 AC
    cobbler自动化部署原理篇
    Docker四种网络模式
  • 原文地址:https://www.cnblogs.com/qingsong/p/5932042.html
Copyright © 2011-2022 走看看