婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > PHP實(shí)現(xiàn)實(shí)時(shí)生成并下載超大數(shù)據(jù)量的EXCEL文件詳解

PHP實(shí)現(xiàn)實(shí)時(shí)生成并下載超大數(shù)據(jù)量的EXCEL文件詳解

熱門標(biāo)簽:襄陽(yáng)房產(chǎn)電銷機(jī)器人招商 百度地圖標(biāo)注飯店位置怎么 施工地圖標(biāo)注怎么做 個(gè)性化地圖標(biāo)注在線 清遠(yuǎn)陽(yáng)山400電話號(hào)碼如何申請(qǐng) 百度地圖標(biāo)注名編輯 安徽移動(dòng)外呼系統(tǒng) 深圳400電話辦理那家好 怎么在高德地圖標(biāo)注行走軌跡

前言

最近在工作中接到一個(gè)需求,通過選擇的時(shí)間段導(dǎo)出對(duì)應(yīng)的用戶訪問日志到excel中, 由于用戶量較大,經(jīng)常會(huì)有導(dǎo)出50萬(wàn)加數(shù)據(jù)的情況。而常用的PHPexcel包需要把所有數(shù)據(jù)拿到后才能生成excel, 在面對(duì)生成超大數(shù)據(jù)量的excel文件時(shí)這顯然是會(huì)造成內(nèi)存溢出的,所以考慮使用讓PHP邊寫入輸出流邊讓瀏覽器下載的形式來(lái)完成需求。

我們通過如下的方式寫入PHP輸出流

$fp = fopen('php://output', 'a');
fputs($fp, 'strings');
....
....
fclose($fp)

php://output是一個(gè)可寫的輸出流,允許程序像操作文件一樣將輸出寫入到輸出流中,PHP會(huì)把輸出流中的內(nèi)容發(fā)送給web服務(wù)器并返回給發(fā)起請(qǐng)求的瀏覽器

另外由于excel數(shù)據(jù)是從數(shù)據(jù)庫(kù)里逐步讀出然后寫入輸出流的所以需要將PHP的執(zhí)行時(shí)間設(shè)長(zhǎng)一點(diǎn)(默認(rèn)30秒)set_time_limit(0)不對(duì)PHP執(zhí)行時(shí)間做限制。

注:以下代碼只是闡明生成大數(shù)據(jù)量EXCEL的思路和步驟,并且在去掉項(xiàng)目業(yè)務(wù)代碼后程序有語(yǔ)法錯(cuò)誤不能拿來(lái)直接運(yùn)行,請(qǐng)根據(jù)自己的需求填充對(duì)應(yīng)的業(yè)務(wù)代碼!

 /**
  * 文章訪問日志
  * 下載的日志文件通常很大, 所以先設(shè)置csv相關(guān)的Header頭, 然后打開
  * PHP output流, 漸進(jìn)式的往output流中寫入數(shù)據(jù), 寫到一定量后將系統(tǒng)緩沖沖刷到響應(yīng)中
  * 避免緩沖溢出
  */
 public function articleAccessLog($timeStart, $timeEnd)
 {
  set_time_limit(0);
  $columns = [
   '文章ID', '文章標(biāo)題', ......
  ];
  $csvFileName = '用戶日志' . $timeStart .'_'. $timeEnd . '.xlsx';
  //設(shè)置好告訴瀏覽器要下載excel文件的headers
  header('Content-Description: File Transfer');
  header('Content-Type: application/vnd.ms-excel');
  header('Content-Disposition: attachment; filename="'. $fileName .'"');
  header('Expires: 0');
  header('Cache-Control: must-revalidate');
  header('Pragma: public');
  $fp = fopen('php://output', 'a');//打開output流
  mb_convert_variables('GBK', 'UTF-8', $columns);
  fputcsv($fp, $columns);//將數(shù)據(jù)格式化為CSV格式并寫入到output流中
  $accessNum = '1000000'//從數(shù)據(jù)庫(kù)獲取總量,假設(shè)是一百萬(wàn)
  $perSize = 1000;//每次查詢的條數(shù)
  $pages = ceil($accessNum / $perSize);
  $lastId = 0;
  for($i = 1; $i = $pages; $i++) {
   $accessLog = $logService->getArticleAccessLog($timeStart, $timeEnd, $lastId, $perSize);
   foreach($accessLog as $access) {
    $rowData = [
     ......//每一行的數(shù)據(jù)
    ];
    mb_convert_variables('GBK', 'UTF-8', $rowData);
    fputcsv($fp, $rowData);
    $lastId = $access->id;
   }
   unset($accessLog);//釋放變量的內(nèi)存
   //刷新輸出緩沖到瀏覽器
   ob_flush();
   flush();//必須同時(shí)使用 ob_flush() 和flush() 函數(shù)來(lái)刷新輸出緩沖。
  }
  fclose($fp);
  exit();
 }

好了, 其實(shí)很簡(jiǎn)單,就是用逐步寫入輸出流并發(fā)送到瀏覽器讓瀏覽器去逐步下載整個(gè)文件,由于是逐步寫入的無(wú)法獲取文件的總體size所以就沒辦法通過設(shè)置header("Content-Length: $size");在下載前告訴瀏覽器這個(gè)文件有多大了。不過不影響整體的效果這里的核心問題是解決大文件的實(shí)時(shí)生成和下載。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • PHP導(dǎo)出MySQL數(shù)據(jù)到Excel文件(fputcsv)
  • php+ajax實(shí)現(xiàn)帶進(jìn)度條的大數(shù)據(jù)排隊(duì)導(dǎo)出思路以及源碼
  • phpadmin如何導(dǎo)入導(dǎo)出大數(shù)據(jù)文件及php.ini參數(shù)修改
  • phpexcel導(dǎo)入excel處理大數(shù)據(jù)(實(shí)例講解)
  • php 在線導(dǎo)入mysql大數(shù)據(jù)程序
  • 淺析THINKPHP的addAll支持的最大數(shù)據(jù)量
  • php+ajax導(dǎo)入大數(shù)據(jù)時(shí)產(chǎn)生的問題處理
  • php 大數(shù)據(jù)量及海量數(shù)據(jù)處理算法總結(jié)
  • php使用fputcsv實(shí)現(xiàn)大數(shù)據(jù)的導(dǎo)出操作詳解

標(biāo)簽:臨夏 阜陽(yáng) 中衛(wèi) 黑河 駐馬店 延邊 欽州 南昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)實(shí)時(shí)生成并下載超大數(shù)據(jù)量的EXCEL文件詳解》,本文關(guān)鍵詞  PHP,實(shí)現(xiàn),實(shí)時(shí),生成,并,下載,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實(shí)現(xiàn)實(shí)時(shí)生成并下載超大數(shù)據(jù)量的EXCEL文件詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PHP實(shí)現(xiàn)實(shí)時(shí)生成并下載超大數(shù)據(jù)量的EXCEL文件詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩精品一区在线| 亚洲成人福利片| 国产精品66部| 亚洲男人的天堂在线aⅴ视频| 欧美一区二区不卡视频| 99久久亚洲一区二区三区青草 | 国内国产精品久久| 亚洲精品国产一区二区三区四区在线 | 欧美视频精品在线| 成人免费黄色在线| 成人一区在线看| 国产一区二区看久久| 日韩电影免费在线| 亚洲综合区在线| 亚洲天堂av老司机| 亚洲欧洲99久久| 国产精品欧美经典| 久久天天做天天爱综合色| 欧美日韩国产a| 欧美三区在线视频| 99视频精品免费视频| 国产精品一区在线| 日韩av高清在线观看| 日本色综合中文字幕| 日韩一区有码在线| 一区二区日韩电影| 欧美激情一二三区| 91精品国产黑色紧身裤美女| 色老综合老女人久久久| 久久99九九99精品| 国内外精品视频| 视频一区二区中文字幕| 日韩激情视频网站| 亚洲午夜电影在线观看| 三级欧美韩日大片在线看| 亚洲免费观看视频| 欧美一级久久久| 欧美日韩一级片网站| 成人深夜视频在线观看| 91香蕉国产在线观看软件| 国产精一区二区三区| 成人久久18免费网站麻豆| 青椒成人免费视频| 亚洲精品一卡二卡| 视频一区国产视频| 日本不卡1234视频| 成人激情文学综合网| 国产成人小视频| 色婷婷av一区| 日本精品视频一区二区三区| 欧美久久久久免费| 日韩欧美一区在线| 日韩毛片视频在线看| 日韩理论片中文av| 一区二区国产视频| 韩国午夜理伦三级不卡影院| 韩国av一区二区三区在线观看| 91视视频在线直接观看在线看网页在线看| 成人听书哪个软件好| 欧美精品v国产精品v日韩精品| 欧美精品自拍偷拍| 国产精品美女久久久久久2018| 日韩一区有码在线| 国产精品拍天天在线| 亚洲午夜三级在线| 日韩电影免费在线观看网站| 91年精品国产| 欧美日韩你懂得| 中文字幕精品—区二区四季| 亚洲日本欧美天堂| 国产激情一区二区三区| 国产·精品毛片| 91精品国产综合久久福利 | 免费看黄色91| 国产精品自拍av| 欧美日韩高清在线| 2020国产成人综合网| 亚洲国产精品一区二区久久 | 欧美电视剧在线看免费| 久久久久亚洲蜜桃| 日本va欧美va瓶| 国产成人综合精品三级| 欧美精品xxxxbbbb| 国产精品福利电影一区二区三区四区| 欧美国产精品久久| 亚洲精品视频在线| 91免费看片在线观看| 欧美三级乱人伦电影| 欧美福利电影网| 亚洲国产aⅴ成人精品无吗| 久久成人久久爱| 91精品国产综合久久久久久久| 久久免费看少妇高潮| 麻豆国产精品777777在线| 盗摄精品av一区二区三区| 国产午夜亚洲精品不卡| 亚洲成人在线观看视频| 欧美体内she精高潮| 国产亚洲精久久久久久| 亚洲视频图片小说| 成人动漫中文字幕| 精品奇米国产一区二区三区| 久久成人免费网站| 欧美日韩国产欧美日美国产精品| 亚洲午夜视频在线观看| 成人免费精品视频| 亚洲视频一区在线观看| 国产999精品久久| 国产精品久久久久精k8| 国产成人午夜99999| 国产日韩欧美一区二区三区乱码 | 亚洲男人的天堂av| 婷婷国产在线综合| 欧美猛男男办公室激情| 国产精品国产三级国产普通话蜜臀 | 欧美一区三区四区| 亚洲欧美激情插| 国产乱码字幕精品高清av| 欧美剧在线免费观看网站| 久久精品人人做| 另类小说一区二区三区| 欧美日韩国产首页| 亚洲国产综合在线| 精品欧美一区二区久久| 婷婷久久综合九色综合绿巨人| 处破女av一区二区| 一区二区在线观看视频| 国产福利不卡视频| 亚洲卡通欧美制服中文| 99久久精品国产毛片| 最新国产の精品合集bt伙计| av毛片久久久久**hd| 亚洲精品免费在线| 在线免费观看日韩欧美| 另类专区欧美蜜桃臀第一页| 欧美一区二区在线免费观看| 国产美女精品人人做人人爽| 欧美大肚乱孕交hd孕妇| 成人黄色777网| 久久精品人人做| 久久99精品久久只有精品| 欧美国产乱子伦| 国产成人一区二区精品非洲| 亚洲成人动漫精品| 91高清在线观看| 国产激情一区二区三区| 最新国产の精品合集bt伙计| 久久久综合精品| 成人丝袜视频网| 日本人妖一区二区| 国产欧美va欧美不卡在线| 91免费视频观看| 青青草97国产精品免费观看| 亚洲综合色视频| 欧美久久久久久久久久| 成人黄色a**站在线观看| 亚洲午夜私人影院| 国产精品国产三级国产aⅴ无密码| 91免费在线视频观看| 高清久久久久久| 亚洲天堂av一区| 亚洲欧洲精品成人久久奇米网| 欧美区视频在线观看| 色视频欧美一区二区三区| 视频一区免费在线观看| 亚洲最新视频在线播放| 精品电影一区二区| 欧美成人r级一区二区三区| 国产精品亚洲一区二区三区妖精 | 91精品国产91综合久久蜜臀| 国产乱人伦精品一区二区在线观看| 免费久久精品视频| 国产精品久久国产精麻豆99网站| 日韩欧美黄色影院| 91麻豆精东视频| 97se亚洲国产综合在线| 亚洲最新在线观看| 亚洲欧美日韩系列| 91精品国产综合久久精品app| 欧美做爰猛烈大尺度电影无法无天| 狠狠色丁香久久婷婷综| 视频在线观看一区| 亚洲一区二区三区中文字幕| 99riav一区二区三区| 国产一区不卡在线| 日韩精品高清不卡| 国产精品久久午夜夜伦鲁鲁| 久久久久99精品国产片| 欧美一区二区三区啪啪| 日韩视频一区二区| 在线免费一区三区| 欧美一级xxx| 欧美日韩亚洲国产综合| 欧美一级一区二区| 欧美在线啊v一区| 日韩一区二区在线观看视频 | 欧美日韩不卡在线| 色综合中文综合网| 亚洲国产精品久久久久秋霞影院| 亚洲精品国产a|