作者在一次工作中需要导出一份10多万数据的csv文件,导出过程中出现时php超时的问题,下面提供下个人的解决方案:
1. 使用分页检索数据库,首先在页面中获取到页数及在服务器中生成一个只有title的csv文件
2. 在页面中js循环调用ajax,循环次数为之前获取到的页数,在ajax调用的页面中根据条件查询出数据,fwrite写入到csv文件中
3. 这样多次循环后生成完整的csv文件,完成后跳转到另一页面中,页面中访问csv文件地址,读取内容
4. 将内容echo出来,就提示用户下载文件了
5. 最后删除csv文件即可
重点在于循环调用ajax写入csv文件