文件上傳項目項在
php.ini
中設置,經常使用的配置項有:javascript
序號 | 配置項 | 默認值 | 描述 |
---|---|---|---|
1 | file_uploads |
On |
使 PHP 支持文件上傳 |
2 | upload_tmp_dir |
/tmp |
指示應該臨時把上傳的文件存儲在什麼位置 |
3 | max_file_uploads |
20 |
單次請求時容許上傳的最大文件數量 |
4 | max_execution_time |
30 |
設置 PHP 最長執行時間(秒) |
5 | max_input_time |
60 |
設置 PHP 經過 POST/GET/PUT 接收數據的時長(秒) |
6 | memory_limit |
128M |
系統分配給當前腳本執行可用的最大內存容量 |
7 | post_max_size |
8M |
容許的 POST 數據的總大小(以字節爲單位) |
8 | upload_max_filesize |
32M |
容許的儘量最大的文件上傳(以字節爲單位) |
$_FILES
$_FILES
中$_FILES
以二維數組形式保存: $_FILES['form_file_name']['key']
'form_file_name'
: 對應着表單中<input type="file" name="my_pic">
中name
屬性值'key'
: 共有 5 個鍵名, 描述以下:序號 | 鍵名 | 描述 |
---|---|---|
1 | name |
文件在客戶端的原始文件名(即存在用戶電腦上的文件名) |
2 | type |
文件的 MIME 類型, 由瀏覽器提供, PHP 並不檢查它 |
3 | tmp_name |
文件被上傳到服務器上以後,在臨時目錄中臨時文件名 |
4 | error |
和該文件上傳相關的錯誤代碼 |
5 | size |
已上傳文件的大小(單位爲字節) |
序號 | 常量 | 值 | 描述 |
---|---|---|---|
1 | UPLOAD_ERR_OK |
0 |
沒有錯誤發生,文件上傳成功 |
2 | UPLOAD_ERR_INI_SIZE |
1 |
文件超過php.ini 中upload_max_filesize 值 |
3 | UPLOAD_ERR_FORM_SIZE |
2 |
文件大小超過表單中MAX_FILE_SIZE 指定的值 |
4 | UPLOAD_ERR_PARTIAL |
3 |
文件只有部分被上傳 |
5 | UPLOAD_ERR_NO_FILE |
4 |
沒有文件被上傳 |
6 | UPLOAD_ERR_NO_TMP_DIR |
6 |
找不到臨時文件夾 |
7 | UPLOAD_ERR_CANT_WRITE |
7 |
文件寫入失敗 |
序號 | 屬性設置 | 描述 |
---|---|---|
1 | <form method="POST"> |
請求類型必須是POST |
2 | <form enctype="multipart/form-data"> |
設置表單提交數據的編碼類型 |
3 | <input type="file" name="uploads"> |
設置表單控件類型與名稱以支持上傳 |
4 | <input type="hidden" name="MAX_FILE_SIZE" value="..."> |
設置隱藏域限制上傳文件大小(可選) |
enctype
屬性說明
enctype
: 設置表單數據,在發送到服務器以前的編碼規則php
序號 | 屬性值 | 描述 |
---|---|---|
1 | application/x-www-form-urlencoded |
默認值, 發送前進行編碼,空格轉+ ,非空字符轉 16 進制 |
2 | multipart/form-data |
不對字符編碼,以二進制發送,適合文件上傳 |
3 | text/plain |
純文本發送,僅對空格編碼(轉爲+ ) |
Email
附件格式的字符串, 後來演變成爲網絡文檔或應用程序的文檔格式規範/
分隔,例如text/css
序號 | 類型 | 描述 | 示例 |
---|---|---|---|
1 | text |
文本 | text/plain ,text/html ,text/css ,text/javascript |
2 | image |
圖像 1 | image/jpeg ,image/gif ,image/png ,image/bmp ,image/ webp , |
2 | image |
圖像 2 | image/x-icon , image/vnd.microsoft.icon |
3 | audio |
音頻 | audio/midi , audio/mpeg , audio/webm , audio/ogg , audio/wav |
4 | video |
視頻 | video/mp4 ,video/mpeg ,video/webm , video/ogg ,video/x-msvideo |
5 | application |
二進制 1 | application/octet-stream , application/javascript , application/ecmascript |
5 | application |
二進制 2 | application/json ,application/pkcs12 , application/vnd.mspowerpoint |
5 | application |
二進制 3 | application/xhtml+xml , application/xml , application/pdf ,application/x-gzip |
x-
爲前綴的是尚未成爲國際標準的格式applicaton/octet-stream
, 如.md
文檔, 儘管它是純文本