Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法通过ajax下载动态生成的大型csv文件_Php_Mysql_Ajax_Csv_Download - Fatal编程技术网

Php 无法通过ajax下载动态生成的大型csv文件

Php 无法通过ajax下载动态生成的大型csv文件,php,mysql,ajax,csv,download,Php,Mysql,Ajax,Csv,Download,这是我的第一个问题,所以如果我问任何愚蠢的问题,请容忍我 我有一个数据库记录,我打算从中生成csv文件,以便使用ajax进行下载。csv文件中的记录从130到18000不等。在浏览器中启动加载过程时,我正在显示加载图像。我正在利用隐藏的iframe来强制下载 正在成功生成和下载多达4000-5000条记录(最多需要10-15分钟)的csv文件,但如果是18000条csv文件,FF控制台会在大约30-40分钟后显示ajax请求已完成,但从未显示下载对话框 我在我的php脚本中实现了expire头和

这是我的第一个问题,所以如果我问任何愚蠢的问题,请容忍我

我有一个数据库记录,我打算从中生成csv文件,以便使用ajax进行下载。csv文件中的记录从130到18000不等。在浏览器中启动加载过程时,我正在显示加载图像。我正在利用隐藏的iframe来强制下载

正在成功生成和下载多达4000-5000条记录(最多需要10-15分钟)的csv文件,但如果是18000条csv文件,FF控制台会在大约30-40分钟后显示ajax请求已完成,但从未显示下载对话框

我在我的php脚本中实现了expire头和etag头,这样,如果浏览器向它发出第二个请求,它将返回notmodified头

我希望我错过了浏览器缓存中的一些要点,因为这个问题持续存在,文件生成大约需要30分钟或更长时间


如果有人能为我提供帮助,我将不胜感激。

我怀疑,如果生成CSV文件需要那么长时间,那么脚本就会超时。您是否在任何地方记录错误?如果是这样,请查看脚本执行超时错误的错误日志。这将是一个很长的问题。剩下的并不重要。您应该开始检查为什么生成包含18000条记录的CSV需要30~40分钟。通常是几秒钟的过程。在客户端下载可能需要很长时间,但这是由于网络速度慢。只是一个想法:会话超时?(为什么生成过程要花那么多时间?似乎有很多改进的地方)我们需要先查看代码,然后才能帮助您