遇到了一個需要打包下載圖片的需求.圖片的規模應該在x10的5次方左右,整體體積應該在數GB.如果直接先壓縮,然后返回一個地址讓客戶端去下載,中間必定會出現一個很長時間的一個操作空白期,同時還無法保證這個空白期用戶會不會關掉連接.所以考慮使用一遍壓縮一遍下載的方案(流式下載),雖然犧牲掉了顯示進度的功能,但是至少不會出現一個很長時間的空白時間段.類似的功能例如phpmyadmin的導出(這個沒有壓縮,我已經能實現了),GitHub的倉庫的打包下載(確定有壓縮,考慮到他在下載的時候也不知道最終體積,所以考慮是實現了流式壓縮下載)網上搜過一些相關的資料,不過大多都是先壓縮后下載的方案,在大數據量下估計是沒法用.想問一下有沒有哪位大佬做過類似功能,能幫忙講解一下算法或者提供幾個關鍵詞好讓我去搜索一波.目前使用的關鍵詞:php zip 流式 下載 壓縮
2 回答

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊
有個問題,你的下載是很多人一起下載嗎?還是只有幾個人?
很多人的情況下,你這個方法會出問題的:
每個用戶下載會占用一個進程,你同時下載的用戶有多少?你又給PHP-fpm開了幾個進程?如果進程跑滿了,其他人這時候都只能等待
- 2 回答
- 0 關注
- 1382 瀏覽
添加回答
舉報
0/150
提交
取消