文件域的作用是實現文件或圖片的上傳。文件域有一個特有的屬性,用於指定上傳的文件類型,如果需要顯示上傳文件的類型,則可以通過設置該屬性來完成。
在實現開發過程中,文件或者圖片上傳在一些網站應用中是必不可少的一部分。比如個人博客上傳個性頭像,一些論壇分享好的學習資料等等,這就涉及到使用表單處理文件上傳的知識,在php中 我們可以使用$_FILES這個全局數組來處理。下面就看看基本的文件上傳處理部分。首先要說明的,能夠上傳文件必定是一個安全隱患,所以在開發這部分功能時,一定要注意網站的安全性。而在這里所探討的只是基本的文件上傳部分,提供的是PHP文件上傳基本的知識,讓朋友們了解最簡單的原理和代碼知識,關於安全性這方面考慮的較少。
$_FILES:經由 HTTP POST 文件上傳而提交至腳本的變量。直線電機生產廠家
$_FILES數組內容如下:
$_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 版本中增加的。
$_FILES["file"]["error"]中的["error"]值情況:
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 。
下面來一個簡單的實例,選擇需要上傳的文件,點擊“上傳”按鈕,就會在上方顯示要上傳文件的絕對路徑。
其具體的開發步驟是如下的形式:
(1)新創建一個 index.php 動態頁,創建一個 form 表單,添加一個文件域和一個提交按鈕,其主要的代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
說明:本實例實現的是獲取文件域的值,並沒有實現圖片的上傳,因此不需要設置<form>表單元素的
enctype="multipart/form-data" 屬性。
(2)編寫PHP語句,通過$_POST[]全局變量來獲取菜單列表框的值,使用echo語句輸出。其PHP代碼如下顯示:
1 2 3 |
|
(3)在瀏覽器中輸入運行地址,按回車鍵,