下载数据库文件到指定目录
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;//输出命令结果
?>
<?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;//输出命令结果
?>
相关文章推荐
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- C# Http地址下载文件到指定目录。
- 弹出另存为窗口下载指定目录的文件
- C#批量附加指定目录下的所有数据库文件到数据库中
- android示例之下载文件并写入到SD卡的指定目录中
- php实现远程网络文件下载到服务器指定目录(方法二)
- Python: 从 指定地址 下载文件 到 本地目录(附源码)
- Linux输入文件名从FTP 指定目录下载 文件
- Asp.net 获取服务器指定文件夹目录文件,并提供下载
- 附加自动命名的数据库 但失败。已存在同名的数据库 或指定的文件无法打开或位于 unc 共享目录中。【解决方法】
- <JAVA,hibernate>从数据库中下载二进制文件并存到指定位置,把本地文件上传到数据库指定的字段中
- domino文件拆离数据库,放入指定目录
- php实现远程网络文件下载到服务器指定目录(方法二)
- 以命令方式从FTP 服务器下载文件到本地指定目录
- php实现远程网络文件下载到服务器指定目录(方法一)
- 从文件夹目录下导入所有指定文件类型的数据内容到数据库表
- Asp.net获取服务器指定文件夹目录文件并提供下载的方法
- 解决:Android使用自带sqlite开发时,apk中创建的数据库外部的进程是没有权限去读/写的,而且无法如何读取指定目录下的db文件
- 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中[解决方法]
- 尝试为文件 C:\XXX\App_Data\XXX.mdf 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中