※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2014-04-02 05:54:50
看板 PHP
作者 標題 Re: [請益] post 接收頁面做進度條
時間 Sat Mar 29 15:01:25 2014
※ 引述《newvalentine (haha)》之銘言:
: 有辦法在 post 接收頁面做進度
: 讀取條嗎?
: Google 一下沒有資料
: 還請各位大大解惑
: 感謝大家!
這個要看處理什麼東西來作吧~
大家說的部份是指時間很短暫~用gif騙騙使用者處理中就好
如果是處理時間很長~如三十秒還是一分鐘以上~
可以將資料處理 POST 到 iframe內~
開始處理就將處理進度的 javascript 直接 flush 出來
javscript內容就是變更處理進度的顯示
iframe處理時就是吐出處理多少進度的javascript
處理完畢就flush出來給client端
如:
// 資料處理99%的時候
echo "<script>
parent.document.getElementById('proc').style.width = '99px';
</script>";
ob_flush();
而送出頁大概就是置放進度條來被變更
<div id=proc style='background-color:#99ffcc;'></div>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.118.224.199
※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1396076493.A.965.html
→ :這作法幾乎不可行www 現實production環境幾乎都有buffer1F 03/30 20:52
→ :樓上請查flush 或 ob_flush的作用喔!2F 03/31 07:12
→ :中間還有apache fastcgi之類這一堆呢 buffer可不只3F 03/31 09:30
→ :有一層而已 更別說有的還有haproxy varnish一堆的
→ :光是現在很常見的php-fpm就已經關不掉buffer行為了
→ :有一層而已 更別說有的還有haproxy varnish一堆的
→ :光是現在很常見的php-fpm就已經關不掉buffer行為了
→ :噗…server push的應用不致於消失喔!6F 03/31 18:14
→ :樓上... comet的做法早沒啥人在用了好嗎...7F 03/31 19:15
→ :現在主流是long polling 不然直接上websocket了
→ :現在主流是long polling 不然直接上websocket了
→ :噗~設計領域不該有非黑即白的觀念~應用只有這種嗎?9F 03/31 22:03
→ :你說的主流是否十幾年前就可以應用了?
→ :SO..分享設計原理~只是多一種選擇囉!
→ :你說的主流是否十幾年前就可以應用了?
→ :SO..分享設計原理~只是多一種選擇囉!
→ :所以我也只說這在production上很容易死啊12F 03/31 22:31
→ :尤其是虛擬主機 架構部分你想動也動不了的
→ :而且當年不偏好buffer 因為當時網路慢
→ :所以原則是能先送多少先送多少
→ :不然使用者要好幾秒才能載完一頁
→ :尤其是虛擬主機 架構部分你想動也動不了的
→ :而且當年不偏好buffer 因為當時網路慢
→ :所以原則是能先送多少先送多少
→ :不然使用者要好幾秒才能載完一頁
--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 95
回列表(←)
分享