昨天是老師Website的審查前哨站,
然後這個時候當然學長就會很緊張的說,
學弟趕快把資料放到網站上面(就只會在這個時候說),
真是身為責任重大的學弟 ┐(-.-)┌
PHP在上傳體積較大的文件時 需要注意的地方有
1.form表單上面的hidden field 中的MAX_FILE_SIZE
2.commit之後於程式後端判斷$file_size
3.再者最重要的是php.ini的設置
第一個表單部份:
其實就是設置欲上傳文件的最大容量。
檢查了一下老師網站可能上傳的最大文件容量為490MB,
所以乾脆就設定為最大上傳大小為500MB
第二的部份:
後端判斷的部份,必須跟前述表單呼應,
當然也設定判斷為if($file_size > 500000000) exit();
第三個部份比較煩雜一點:
要到php.ini中去更改設定,
在appserv中的php.ini位置在C:\WINDOWS底下,
如果是用Xampp的話php.ini就會在C:\xampp\apache\bin底下,
(其中C:\AppServ\php資料夾內的php.ini-dist跟php.ini-recommeded這兩個檔案,並非所謂的php.ini,其實這是剛開始安裝php用的兩個基本設定模組,如果把apache跟php分開安裝就知道,要把php.ini-dist複製一份到windows目錄下,並更名為php.ini,就是這個道理,這屬於基本的設定。)
(至於php.ini-dist跟php.ini-recommended差別則是,雖然兩個都是設定檔,但是這邊很貼心的為了高安全性做了考量,如果網站層級需要高安全性,那就把php.ini-recommended複製到windows目錄下,並更名為php.ini)
介紹的部份到一段落,接下來談到php上傳較大的文件,所需要的設定。
首先是
(a)File Uploads
裡面影響到上傳的部份參數為:
file_uploads = on ;
是否允許透過HTTP上傳文件。默認為ON。(表示允許)
upload_tmp_dir ;
文件上傳時暫存的地方,如果沒指定就會用系統默認的臨時文件夾
upload_max_filesize = 2m ;
即為允許上傳文件的最大值。默認為2M。
(b)Data Handling
post_max_size = 8m ;
指透過表單(form)POST給伺服器所能接收的最大值,包括表單裡的所有值。默認為8M。
一般來說,設定為上述的四個參數就可以上傳大體積的文件,但是仍然要考慮到網路傳輸的速度。 所以仍然要對網頁傳值的時間做一些基本的考量。
(c)Resource Limits
max_execution_time = 30 ;
每個PHP頁面運行的最大時間值(秒),默認值30秒。
max_input_time = 60 ;
每個PHP頁面接收數據所需的最大時間,默認值60秒。
memory_limit = 8m ;
每個PHP頁面所吃掉的最大記憶體量,默認值8M
如果是大體積文件,可以將參數改成600秒,記憶體量改為自己欲上傳最大文件量。
星期三, 三月 19, 2008
PHP上傳 較大的文件
訂閱:
張貼意見 (Atom)




















2 意見:
上述就是有病毒的網站,請不要點選。
Above is an virus website, please don't click!!!
(我有發佈到Google回報了,希望Google處理的好)
張貼意見