下载数据库文件到指定目录

15 篇文章 1 订阅

注:echo和system执行命令的时候使用不同的符号,echo使用``,system使用"",在ajax到此文件的时候,使用system要略好,

<?php

header("Content-type:text/html;charset=utf8");
// $dumpFileName目录要有可写权限
//数据库信息
$DbHost ='localhost';
$DbUser ='root';
$DbPwd  ='root';
$DbName ='wys';
$fileName = $DbName.'_MySQL_data_backup_'.date('YmdHis').'.sql';//保存的文件名


$dumpFileName= "C:/phpStudy/WWW/excel/data/$fileName";//保存的文件名+路径


//if (file_exists($dumpFileName)) {//判断文件是否生成,可以不使用了
   // echo "OK";
//} else {
   // echo "NULL";
//}
//exit;
//header必须使用保证编码,文件夹正确
header("Content-Disposition: attachment; filename=" . $fileName);
header("Content-type: application/octet-stream");
header("Pragma:no-cache"); 
header("Expires:0");


//下面执行的是命令行,两种都可以执行,在使用ajax的时候,用system执行略好,并且所有路径使用绝对路径
//echo `C:/phpStudy/MySQL/bin/mysqldump -h $DbHost -u$DbUser -p$DbPwd $DbName >$dumpFileName`;//此命令行也可执行不干扰AJAX结果,但是要判断文件是否存在来确定成功失败
system("C:/phpStudy/MySQL/bin/mysqldump -h $DbHost -u$DbUser -p$DbPwd $DbName >$dumpFileName",$res);//这个命令必须用""不能和上面一样用``,直接给$res赋值返回数值即可
//命令所有路径必须使用绝对路径
$hd = fopen($dumpFileName,'rb');//打开文件写入
//echo fread($hd, filesize($dumpFileName));//文件大小
fclose($hd);//关闭写入通道
echo $res;//输出命令结果
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值