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 = 00表示沒有限制2. 修改post_max_size 設定POST 資料所允許的最大大小。此設定也影響到文件上傳。
php預設的post_max_size 為2M.如果POST 資料尺寸大於post_max_size $_POST 和$_FILES superglobals 便會為空查找.post_max_size .改為 post_max_size = 150M3. 很多人會改了第二步,但上傳檔案時最大仍為8M。
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的檔案的最大大小。 查找upload_max_filesize,預設為8M改為##upload_max_filesize = 100M
另外要說明的是,post_max_size 大於upload_max_filesize 為佳.
##上傳效果展示:PHP中文網,有大量免費的PHP影片教學
,歡迎大家學習!