您的位置:首页 > 数据库

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

2017-04-05 09:25 246 查看
注: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;//输出命令结果

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐