PHP大文件上傳

php上傳文件涉及到的參數(php.ini):

file_uploads = on ;是否允許通過HTTP上傳文件的開關。默認爲ON即是開 

upload_tmp_dir ;文件上傳至服務器上存儲臨時文件的地方,如果沒指定就會用系統默認的臨時文件夾 

upload_max_filesize = 8m ;允許上傳文件大小的最大值。默認爲2M 

post_max_size = 8m ;指通過表單POST給PHP的所能接收的最大值,包括表單裏的所有值。默認爲8M 

 

 

一般地,設置好上述四個參數後,上傳<=8M的文件是不成問題。 

但如果要上傳>8M的大體積文件,只設置上述四項不一定能行的通。除非你的網絡真有100M/S的上傳高速,否則你還得關心關心下面的參數 

max_execution_time = 600 ;每個PHP頁面運行的最大時間值(秒),默認30秒 

max_input_time = 600 ;每個PHP頁面接收數據所需的最大時間,默認60秒 

memory_limit = 8m ;每個PHP頁面所吃掉的最大內存,默認8M 

 

 

HTML5開放了新的FILE API,也可以直接操作二進制對象,我們可以直接在瀏覽器端實現文件切割,按照以前的做法就得用Flash的方案,實現起來會麻煩很多。

 

JS思路

1.監聽上傳按鈕的onchange事件

2.獲取文件的FILE對象

3.把文件的FILE對象進行切割,並且附加到FORMDATA對象中

4.把FORMDATA對象通過AJAX發送到服務器

5.重複3、4步驟,直到文件發送完。

 

PHP思路

1.建立上傳文件夾

2.把文件從上傳臨時目錄移動到上傳文件夾

3.所有的文件塊上傳完成後,進行文件合成

4.刪除文件夾

5.返回上傳後的文件路徑

 

 

other:

使用swfupload或者ftp

發佈了117 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章