php下载mysql数据.量比较大,大约有5到50万的数据。
php从数据库中读取,输出txt给用户下载
$list="连接数据库,查询数据";
$SelectField="这个表的字段";
header ("Content-Type: application/octet-stream");
$filename = "1.txt";
if (preg_match ("/MSIE/",$_SERVER['HTTP_USER_AGENT'])) {
header ('Content-Disposition: attachment; filename="' . $filename . '"');
} elseif (preg_match ("/Firefox/",$_SERVER['HTTP_USER_AGENT'])) {
header ('Content-Disposition: attachment; filename*="' . $filename . '"');
} else {
header ('Content-Disposition: attachment; filename="' . $filename . '"');
}
foreach ($SelectField as $key => $value) {
//输出字段
}
foreach ($List as $keyTop => $valueTop) {
echo "\r\n";
foreach ($SelectField as $key => $value) {
echo $value; //输出字段里每一个值
}
}
数据库和程序不是同一服务器。不可以用sql语句生成txt
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
明显sql语句干的事情 非得用 php 干######
这个数量级,使用phpMyAdmin就可以export出来吧。
比较大的,要管理员登录到服务器上使用命令行导出,灰常快,1G数据用不了1分钟。
#/your mysql path/bin/mysqldump -u root -p database_name > /your destination path/xxx.sql
输入root密码。当然其它有权限的用户也可以。
输入命令后
######使用mysql的into outfile导出数据到一个文件,然后php提供下载功能。######回复 @半醉人间 : 是的,into oufile只能导出到数据库本地,可以再使用scp复制到php服务器,或者直接用mysqldump######这个要求php和mysql同一个服务器吧?