PHP顯示上傳進度的3種途徑

2021-04-02 01:36:57 字數 599 閱讀 2101

近日看到 ugia 的 upu 終於發布了,上傳時候顯示進度的效果得以實現,但是實現方式確不到好,需要上傳的時候臨時開啟乙個 socket 埠,更多正規的伺服器都是生活在防火牆後面的,讓客戶端直接鏈結他們新開的埠是不現實的。通常除了這種方式外,還有2種辦法可以實現php顯示上傳進度:

第一種是直接修改php的source code,使得在接收上傳檔案的時候定期將上傳進度寫入檔案,session,或其它共享儲存中,優點是效率最高,難點在於需要針對各個版本的php進行修改,還需要編譯,除錯不便。

第二種,是用其他語言實現其中一部分功能,如perl實現的cgi,因為在上傳初始階段apache就會將許可權交給perl,而perl會交給cgi指令碼,這時,你寫的這個cgi就可以處理上傳進度供客戶端回顯了,難點在於需要在2種語言種共享資料,缺點是cgi效率不高,當然可以用fastcgi,這年頭寫fastcgi的不多了,優點當然是相容性最好。

第三中,就是upu的這種方式,直接讓 php 指令碼監聽 socket 埠,缺點上面說了,就是無法用在防火牆後。

tom的網路u盤已經有一部分使用者可以看到上傳進度的顯示了,未來也許所以使用者都可以看到吧,也許始終只會對一部分使用者開放。

btw,ugia的**質量真的很棒!!

php上傳檔案並顯示上傳進度的方法

記得上傳檔案的時候要大點,不然還沒看出來就上傳完了,並且上傳的檔案不要太大,上g的就算了,2g的我試了,php受不了,我測試的是300多m的,記得要調整小php.ini引數啊 選檔案 提交 獲取資訊 要一氣呵成哦 name ini get session.upload progress.name k...

PHP檔案上傳進度的實現原理

uploadprogress擴充套件需要依靠js獲取伺服器提供的進度,這裡的進度是伺服器接收的檔案進度。而在php5.4之後,我們可以在不新增擴充套件的情況下,從session資料中獲取了檔案上傳的進度。uploadprogress擴充套件和php5.4的session擴充套件都能獲取上傳的進度,其...

程式設計師 增加程式設計經驗的3種途徑

本文 http kb.cnblogs.com page 77822 最近,有位論壇會員陷入了乙個與許多入門級程式設計師相同的尷尬局面中 企業們不喜歡僱傭沒有經驗的人,並且多數都不願意提供培訓。如果那麼多的企業都不僱傭沒有經驗的人,那麼這些人要從哪尋得他們所需的經驗呢?不幸的是,這種局面是大多數it人...