hSATAC

>> ('cat' + 'ash').reverse #=> "hsatac"

上傳大檔案

因為公司有要作上傳大檔案的需求
這兩天研究了一下,得到了幾個結論

1.HTML file input和flash都沒辦法做到續傳,因為沒辦法指定從檔案的哪個位置開始讀取。若要做到續傳,可能要配合java或activeX。

2.網路上的許多上傳套件,只要有用flash接的,一概不能用。因為flash FileReference有100mb的限制。

3.目前以純PHP來說,要做到真實的上傳比例進度棒,是不可行的。因為無法在上傳完畢以前就取得檔案大小以及目前檔案大小(用來算比例)。因此大多配合flash來取得檔案大小。但不適用於本專案(有大檔案需求)。

4.有一個套件APC(Alternative PHP Cache),可以解決真實上傳比例進度這個問題。但是這個套件現在沒有包含在標準安裝裡面(PHP 6應會內建),現階段需要自行下載安裝。
20080710更新:利用APC實做upload progress無法multithread,等於無用!需另尋方法。

5.真實網路情況下,用http post傳大檔案(以500mb作測試),還是相當不穩定且速度緩慢。

Comments