实际上我有一个文件,下载发生在 xl 中..但是该表包含大量记录并且需要超过 2 分钟..所以我想要的是在后台运行这个文件,当下载完成时他会弹出在前面下载完成...所以他可以去检查下载文件夹..这样他就可以在下载发生在后面的时候继续做其他任务..不用让他等待..我用谷歌搜索了几个网站但是无法输出.. 我的下载代码是
$fileName = 'Enquires.xls' ;
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$fileName");
$flag = false;
$query="";
$query = "Select ackNo as AckNo, serialNo as SerialNo ,DATE(time) as EnquiryTime, product as Product , customerName as CustomerName , phone as Phone ,query as CustomerQuery,tech as CSO ,raf as RAF_Status,eng_comments as EngineerComments from customerEnquiry where ackNo like '".$locationprefix."%' and DATE(time) between '".$from."' and '".$to."'";
$result = mysql_query($query) or die('Error, query failed');
while($row =mysql_fetch_assoc($result)) {
if(!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) ."\r\n";
$flag = true;
}
echo implode("\t", array_values($row)) . "\r\n";
}
最佳答案
执行此操作的最佳方法可能是在用户按下按钮时不生成文件。当他们按下该按钮时,在数据库中添加一条记录以生成该文件,并使用每分钟运行一次的 cron 来准备好它。在您的前端,有一小段 javascript 每 30 秒或每分钟轮询一次服务器以查看是否有新的下载可用。如果是,则显示弹出窗口。
关于php - 在后台进程下载报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952553/