想问一下
我数据库有十万笔数据
但是我想每两千笔是一个 .csv 档
这能如何实现?
就是一浏览那个网页,就直接下载五十个 csv
email, name
email1, name1
email2, name2.....
以这样的格式往下走到两千
再来就是 2001 ~ 4000以此类推到数据库没有数据为止?
一点头绪也没有...
想问一下
我数据库有十万笔数据
但是我想每两千笔是一个 .csv 档
这能如何实现?
就是一浏览那个网页,就直接下载五十个 csv
email, name
email1, name1
email2, name2.....
以这样的格式往下走到两千
再来就是 2001 ~ 4000以此类推到数据库没有数据为止?
一点头绪也没有...
首先,数据量过大,不建议直接使用网络请求,因为nginx请求响应有超时时间,使用CLI模式处理更为合理
其次,每读取2000条数据(可以自己for循环,每次循环时,先进行数据库查询,limit,skip处理,查询出来后校验下数据库查询的内容是否为空,为空则break,不为空则往下处理),然后直接使用php的读写文件操作(fopen,fwrite,fclose)即可以操作完成
建议自己按照我刚刚思路进行编写代码,如果有疑问,可以再私密我
如果要在网页实现下载的话,建议做成任务方式的,用户提交请求之后,创建一个任务,系统处理之前,用户需要等待,系统处理之后,用户方可下载
4 回答1.5k 阅读✓ 已解决
8 回答1.3k 阅读
2 回答1.5k 阅读✓ 已解决
3 回答942 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答899 阅读✓ 已解决
同意楼上回答 用cli处理模式,防止脚本执行超时
每次读取2000,处理完递归回去 就好了
就类似下面这个