php用超級全域性變數陣列$_files來記錄檔案上傳相關資訊的。
1.file_uploads=on/off
是否允許通過http方式上傳檔案
2.max_execution_time=30
允許指令碼最大執行時間,超過這個時間就會報錯
3.memory_limit=50m
設定指令碼可以分配的最大記憶體量,防止失控指令碼占用過多記憶體,此指令只有在編譯時設定了
--enable-memory-limit標誌的情況下才生效
4.upload_max_filesize=20m
允許上傳檔案的最大大小,此指令必須小於post_max_size
5.upload_tmp_dir
上傳檔案臨時存放目錄
6.post_max_size=30m
允許post方式可以接受最大大小
$_files['myfile']['name'] 客戶端上次檔案的原始名稱。
$_files['myfile']['type'] 檔案的 mime 型別,需要瀏覽器提供該資訊的支援,例如"image/gif"。
$_files['myfile']['size'] 已上傳檔案的大小,單位為位元組。
$_files['myfile']['tmp_name'] 檔案被上傳後在服務端儲存的臨時檔名,一般是系統預設。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函式設定是不起作用的。
$_files['myfile']['error'] 和該檔案上傳相關的狀態碼。['error'] 是在 php 4.2.0 版本中增加的。下面是它的說明:(它們在php3.0以後成了常量)
upload_err_ok
值:0; 沒有錯誤發生,檔案上傳成功。
upload_err_ini_size
值:1; 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。
upload_err_form_size
值:2; 上傳檔案的大小超過了 html 表單中 max_file_size 選項指定的值。
upload_err_partial
值:3; 檔案只有部分被上傳。
upload_err_no_file
值:4; 沒有檔案被上傳。
值:5; 上傳檔案大小為0.
檔案被上傳結束後,預設地被儲存在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。
也就是不管是否上傳成功,指令碼執行完後臨時目錄裡的檔案肯定會被刪除。
附:修改php上傳檔案大小限制的方法
1. 一般的檔案上傳,除非檔案很小.就像乙個5m的檔案,很可能要超過一分鐘才能上傳完.
但在php中,預設的該頁最久執行時間為 30 秒.就是說超過30秒,該指令碼就停止執行.
這就導致出現 無法開啟網頁的情況.這時我們可以修改 max_execution_time
在php.ini裡查詢
max_execution_time
預設是30秒.改為
max_execution_time = 0
0表示沒有限制
2. 修改 post_max_size 設定 post 資料所允許的最大大小。此設定也影響到檔案上傳。
php預設的post_max_size 為2m.如果 post 資料尺寸大於 post_max_size $_post 和 $_files superglobals 便會為空.
查詢 post_max_size .改為
post_max_size = 150m
3. 很多人都會改了第二步.但上傳檔案時最大仍然為 8m.
為什麼呢.我們還要改乙個引數upload_max_filesize 表示所上傳的檔案的最大大小。
查詢upload_max_filesize,預設為8m改為
upload_max_filesize = 100m
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.
上傳效果展示:
討論群:374992201
js資料夾上傳
檔案上傳是 web 開發肯定會碰到的問題,而資料夾上傳則更加難纏。網上關於資料夾上傳的資料多集中在前端,缺少對於後端的關注,然後講某個後端框架檔案上傳的文章又不會涉及資料夾。今天研究了一下這個問題,在此記錄。先說兩個問題 是否所有後端框架都支援資料夾上傳?是否所有瀏覽器都支援資料夾上傳?第乙個問題 ...
java資料夾上傳
最近公司做工程專案,實現資料夾上傳。網上找了一天,發現網上很多 都存在相似問題,最後終於找到了乙個符合要求的專案。工程如下 這裡對專案的資料夾傳輸功能做出分析,怎麼實現資料夾上傳的,如何進行資料夾上傳的。執行 資料夾所在位置 c users liu desktop httpdebuggerpro v...
網頁上直接選擇本地資料夾上傳
以前都是需要瀏覽器外掛程式支援的,對於ie來說,有很多成熟的商業版上傳控制項,功能非常非常的強大,但基於多種原因,安裝瀏覽器控制項這種方式被接受的程度越來越低了,不輕易使用。chrome瀏覽器早已針對網頁上傳時只能選擇乙個或多個檔案的侷限性而擴充套件了檔案上傳功能,使得可以方便的選擇整個資料夾上傳。...