客戶端瀏覽器上傳文件,是通過html中的表單file控件來實現(xiàn)的,如果將input框的type設(shè)置為file,被點擊時會彈出窗口選擇本地的文件進(jìn)行上傳.
10年積累的成都網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有常德免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
這里需要注意,如果表單中出現(xiàn)文件上傳,則應(yīng)該將表單發(fā)送是否編碼設(shè)置為不編碼 enctype="multipart/form-data".
當(dāng)用戶點擊表單提交時,文件會發(fā)送到接收的服務(wù)器端腳本,如php. 在php中 可使用$_FILES這個預(yù)定義變量來接收發(fā)送的文件.
其中收到的信息如下:
$_FILES['myfile']['name'] 是指被上傳文件的名稱
$_FILES['myfile']['type'] 是指被上傳文件的類型
$_FILES['myfile']['size'] 是指被上傳文件的大小,單位為字節(jié)(B)
$_FILES['myfile']['tmp_name'] 是指被上傳文件存在服務(wù)器中的臨時副本文件名稱,文件被移 動到指定目錄后臨文件將被自動消毀。
$_FILES['myfile']["error"] 是指由文件上傳中有可能出現(xiàn)的錯誤的狀態(tài)碼,關(guān)于各狀態(tài)含義 在后面說明。
error狀態(tài)碼:
0: 沒有錯誤發(fā)生,文件上傳成功。
1: 上傳的文件超過了 php.ini 中 upload_max_filesize選項限制的值
2: 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值
3: 文件只有部分被上傳。
4: 沒有文件被上傳
6: 找不到臨時文件夾。PHP 4.3.10 和 PHP 5.0.3 引進(jìn)。
7: 文件寫入失敗。PHP 5.1.0 引進(jìn)。
當(dāng)$_FILES['myfile']["error"]返回為0時表示文件已經(jīng)上傳成功,這時候我們需要使用php的move_uploaded_file() 函數(shù)將上傳的臨時文件移動到新的位置,這樣文件就被保存到服務(wù)器了。