2010-11-19 82 views
0

我已經做了一個程序,我可以上傳一個文件。一切工作正常。 但是,當我嘗試上傳11MB文件,它似乎是永久加載或發送文件到服務器永遠..文件上傳似乎永遠!

我已經嘗試將upload_max_filesize設置爲20M。

任何想法可能是什麼原因以及如何解決這個問題?

+1

請說明幾件事情: – 2010-11-19 08:43:30

+0

您的網絡連接速度(是否DSL?如果是這樣,上傳速度明顯低於下載速度) – 2010-11-19 08:44:02

+0

您能顯示您使用的代碼嗎? – 2010-11-19 08:44:58

回答

0

爲什麼幾乎肯定與您的連接速度有關。除非通過局域網連接相關設備,否則很可能會通過消費級寬帶連接進行連接。這些都經常配置,以便下載速度遠遠高於上傳速度。因此,需要一分鐘左右下載的20兆文件需要10分鐘或更長時間才能通過同一連接上傳。

除了切換到企業級寬帶連接之外,您可以做些什麼?沒有什麼大不了的,這些位只會在你有的連接上傳輸的速度非常快,而且不會更快。但是,您至少可以向用戶通知上傳的進展情況。從版本5.2開始,PHP提供了可用於監視文件上載進度的鉤子。您可以使用JavaScript來監視這些掛鉤並向用戶顯示進度條。

http://www.phpriot.com/articles/php-ajax-file-uploads

+0

如果確實是一個純粹的帶寬問題,那麼肯定值得關注TCP Window scaling問題/ QOS路由問題。 – symcbean 2010-11-19 11:48:20

0

「永遠」是多久?消費者寬帶的典型上傳速度是每秒256千比特,在這個速度下,一個11兆字節文件將需要over five minutes上傳。

如果您使用的是Google Chrome網頁瀏覽器,您會得到一個上傳進度條,以便您可以判斷它是否正常工作。