php - 在后台进程下载报告

标签 php mysql shell background

实际上我有一个文件,下载发生在 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/

相关文章:

mysql - 如果返回记录则退出循环

Linux : Rename files that ends with live. conf 到 dev.conf

java - 如何使用Java将特殊字符插入MySQL

mysql - 根据表中其他条件查询出一条记录(选择记录)

php - 如何捕获在 Selenium PHPUnit 测试运行时发生的 php 错误?

php - 从 Woocommerce 商店页面中的特定自定义元数据过滤产品

linux - 如何检测 Bash/Shell 中 GUI 的可用性?

linux - 如果不同则复制并重命名为日期和时间戳

php - 从一个页面到另一个页面进行通信? JavaScript、PHP?

java - NMEA格式数据的经纬度如何转换为十进制?