Re: [請益] post 接收頁面做進度條

看板PHP作者 (小企鵝)時間10年前 (2014/03/29 15:01), 編輯推噓0(0016)
留言16則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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

03/30 20:52, , 1F
這作法幾乎不可行www 現實production環境幾乎都有buffer
03/30 20:52, 1F

03/31 07:12, , 2F
樓上請查flush 或 ob_flush的作用喔!
03/31 07:12, 2F

03/31 09:30, , 3F
中間還有apache fastcgi之類這一堆呢 buffer可不只
03/31 09:30, 3F

03/31 09:31, , 4F
有一層而已 更別說有的還有haproxy varnish一堆的
03/31 09:31, 4F

03/31 09:36, , 5F
光是現在很常見的php-fpm就已經關不掉buffer行為了
03/31 09:36, 5F

03/31 18:14, , 6F
噗…server push的應用不致於消失喔!
03/31 18:14, 6F

03/31 19:15, , 7F
樓上... comet的做法早沒啥人在用了好嗎...
03/31 19:15, 7F

03/31 19:15, , 8F
現在主流是long polling 不然直接上websocket了
03/31 19:15, 8F

03/31 22:03, , 9F
噗~設計領域不該有非黑即白的觀念~應用只有這種嗎?
03/31 22:03, 9F

03/31 22:10, , 10F
你說的主流是否十幾年前就可以應用了?
03/31 22:10, 10F

03/31 22:12, , 11F
SO..分享設計原理~只是多一種選擇囉!
03/31 22:12, 11F

03/31 22:31, , 12F
所以我也只說這在production上很容易死啊
03/31 22:31, 12F

03/31 22:31, , 13F
尤其是虛擬主機 架構部分你想動也動不了的
03/31 22:31, 13F

03/31 22:32, , 14F
而且當年不偏好buffer 因為當時網路慢
03/31 22:32, 14F

03/31 22:32, , 15F
所以原則是能先送多少先送多少
03/31 22:32, 15F

03/31 22:33, , 16F
不然使用者要好幾秒才能載完一頁
03/31 22:33, 16F
文章代碼(AID): #1JDc_Dbb (PHP)
文章代碼(AID): #1JDc_Dbb (PHP)