`

用php实现备份数据库ZIP及导出

    博客分类:
  • PHP
php 
阅读更多
   经常在有的PHP开源系统中,看到有备份数据库并导出的方法,其实代码不复杂,下面
大概讲解下,以WINDOWS为例子,两类方法,一个是目录文件夹要有执行脚本权限的,
一个个是没有权限的,代码如下:

一)
  
<?php 
  
$username = "root";  
$password = "";  
$hostname = "localhost";  
$dbname   = "test"; 
  

$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(); 
} 
  
// read zip file and send it to standard output 
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; 
} 
?> 



方法2 文件夹没相关权限

<?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(); 
  

//不ZIP了
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();]]> 
?>


  
1
1
分享到:
评论

相关推荐

    php实现MySQL数据库备份、还原类.zip

    一个非常简单的利用php来备份mysql数据库的类文件,我们只要简单的在dbmange中配置好连接地址用户名与数据库即可。 1. 数据库备份(导出) 2. 数据库恢复(导入) 分别是主机,用户名,密码,...

    MySQL数据库备份、还原PHP类.zip

     */说明:分卷文件是以_v1.sql为结尾 功能:实现mysql数据库分卷备份,选择表进行备份,实现单个sql文件及分卷sql导入 使用方法:1. 数据库备份(导出)---------------------------------------------------------...

    帝国备份王(Empirebak) 2010 官方版.zip

    1、分组备份,专为大数据备份设计 采用分组备份,系统自动将数据库分成多部分导出进入.理论上不限数据库大小,均可备份与恢复; 支持按“文件大小”与“记录数”两种分组备份方式,特别是针对大数据库而设计的“按...

    PHP程序开发范例宝典III

    实例163 通过phpMyAdmin备份数据库 249 实例164 通过手动方式备份数据库 251 6.9 MYSQL数据库的恢复 252 实例165 通过命令模式恢复数据库 252 实例166 通过phpMyAdmin恢复数据库 253 实例167 通过手动...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    php网络开发完全手册

    15.4 使用PHP获取MySQL数据库的信息 255 15.4.1 获取数据库的信息 255 15.4.2 获取表的信息 256 15.4.3 获取列的数目 256 15.4.4 获取列的名称 257 15.4.5 获取列的数据类型 257 15.4.6 获取列的长度 257 15.4.7 ...

    phprap v1.0.7.zip

    【优化】数据库备份表doc_dbdab更改为doc_db_bak 【优化】框架初始化文件新增是否安装openssl扩展的判断 【优化】安装步骤二数据库配置中数据库名不给默认值,增加‘数据库名必须是已存在的,不会自动创建’提示 ...

    backwpup:BackWPup-WordPress备份插件

    使用单个备份.zip文件,您可以轻松还原安装。 BackWPup Free是WordPress排名第一的备份插件,下载量接近1.000.000,在所有WordPress插件中排名前20位(在rankwp.com上进行了检查) 数据库备份(需要mysqli) ...

    途途外贸企业网站管理系统 工作室版 v2.7.0.zip

    8.备份数据:一键备份数据库,防止错误操作 9.客户留言订购数据excel导出功能 10.在线客服系统:后台可更改,中文版为QQ,英文版客服为msn,适合贸易实用 11.在线视频展示:简化代码 提高上传速度,可分类全方面...

    generic-backup:从文件和mysql数据库创建到任何软件的备份

    通用备份英文帮助-将所有文件(从软件(递归地)放在您的文件夹中)打包为zip格式,并将整个MySQL数据库导出为.sql文件,它适用于任何应用程序或网站,无论使用哪种语言。警报安装在受Apache身份验证保护的目录中。 ...

    PHP整站套件-1.3.4

    Pn\PnConf.cmd 有 导入\导出 MySQL 数据库功能(beta) # PHPnow 常见问题 ____________________________________________________________________ Q: 出现: (OS 10048)通常每个套接字地址(协议/网络...

    IT资产管理系统GLPI v0.84.5.zip

    GLPI提供功能全面的IT资源管理接口,你可以用它来建立数据库全面管理IT的电脑,显示器,服务器,打印机,网络设备,电话,甚至硒鼓和墨盒等。提供Helpdesk用户支持平台;联系人,合同,合作商,以及文档的管理;提供...

    DedeEIMS v1.1 织梦PHP免费企业建站系统.zip

    ·系统多国语言,包含... ·数据库备份还原功能; ·数据库内容替换,可以设置表进行数据表替换; ·SQL命令工具,可以执行SQL语句; ·病毒扫描功能,可以扫描可疑文件; ·图片水印设置,可以设置水印的位置、形式;

    123phpshop v1.5.zip

    支持数据库备份 支持权限管理 支持多角色 支持密码更新 支持邮件模板设置 支持友情链接 开源,二次开发0元即时起步 0学习成本,让你迅速起步 99%的代码面向过程编写,企业不用高薪聘用高级程序员就可以马上...

    佳蓝人工智能开源框架 2.0.zip

    您可以免费使用、自主修改及二次开发。佳蓝人工智能开源框架 2.0 更新日志:2016-09-21开放应用中心,可自主添加喜欢的应用增加词库导入与导出功能增加备份和恢复功能增加一键升级网站功能优化数据传输,减少请求...

    易网防伪防串货和代理授权查询系统 v2.1.zip

    2.将备份的数据库 yun_fwdl.sql 恢复到您自己的数据为中。(可以使用专业的MYSQL工具比如phpmyadmin 3、修改数据连接文件 data/conn.php 修改成自己对应的数据库户名和密码 3、登陆网站后台地址 http://域名/admin...

    SMAFLOW免费进销存管理软件

    ★公司数据库文件方便备份、导出,以保障数据安全(“新建公司”后,程序所在目录下产生一个.db文件,即为数据文件); ★无需专业IT知识及实施过程,无需设置,无需复杂建档流程,智能化设计,符合使用习惯; ★...

    E客电影系统EKVOD v2.0 GBK.zip

    重复数据检测可以方便您查看数据库里是否有同名的影片,数据批量替换功能让您方便的替换影片数据库里的影片名、影片简介等,删除指定来源功能可以删除指定的来源数据,数据库备份、数据库还原、数据库优化等功能,...

    网管教程 从入门到精通软件篇.txt

     注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。  bootcfg /scan 扫描用于 Windows 安装的所有磁盘并显示结果。  注意:这些结果被静态存储,并用于本次会话。如果在...

Global site tag (gtag.js) - Google Analytics