一、$_FILES數組
$_FILES[“file”][“name”]:上傳檔案的原始名稱。
$_FILES[“file”][“type”]:上傳的檔案類型。
$_FILES[“file”][“size”]:上傳檔案的原始大小。
$_FILES[“file”][“tmp_name”]:上傳檔案後的暫存位置。
$_FILES[“file”][“error”]:如果上傳檔案有錯誤,則顯示錯誤碼
UPLOAD_ERR_OK 值:0; 沒有錯誤發生,檔案上傳成功。
UPLOAD_ERR_INI_SIZE 值:1; 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE 值:2; 上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。(我們可以在form表單中指定input type=’hidden’ name=’MAX_FILE_SIZE’ value=’附件的最大位元組數’)
UPLOAD_ERR_PARTIAL 值:3; 檔案只有部分被上傳。
UPLOAD_ERR_NO_FILE 值:4; 沒有檔案被上傳。
二、常見的檔案類型
xls:application/vnd.ms-excel
xlsx:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
ppt:application/vnd.ms-powerpoint
pptx:application/vnd.openxmlformats-officedocument.presentationml.presentation
doc:application/msword
docx:application/vnd.openxmlformats-officedocument.wordprocessingml.document
zip:application/x-zip-compressed
rar:application/x-zip-compressed
wmv:video/x-ms-wmv
mp3:audio/mpeg
mp4:video/mp4
gif:image/git
jpeg:image/jpeg或image/pjpeg
備忘:對於 IE,識別 jpg 檔案的類型必須是 pjpeg,對於 FireFox,必須是 jpeg。
三、檔案上傳過程
檔案被上傳結束後,預設地被儲存在了臨時目錄中,這時必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。也就是不管是否上傳成功,指令碼執行完後臨時目錄裡的檔案肯定會被刪除。所以在刪除之前要用PHP的 copy()或者move_upload_file() 函數將它複製或者移動到其它位置,此時,才算完成了上傳檔案過程。
用form上傳檔案時,一定要加上屬性內容 enctype=”multipart/form-data”,否則用$_FILES[filename]擷取檔案資訊時會報異常。
四、儲存上傳的檔案(move_uploaded_file)
bool move_uploaded_file ( string $filename , string $destination )
參數:
filename:上傳的檔案的檔案名稱。
destination:移動檔案到這個位置
傳回值:
成功時返回 TRUE。
如果 filename 不是合法的上傳檔案,不會出現任何操作,move_uploaded_file() 將返回 FALSE。
如果 filename 是合法的上傳檔案,但出於某些原因無法移動,不會出現任何操作,move_uploaded_file() 將返回 FALSE。此外還會發出一條警告。
五、一個簡單的上傳檔案的例子
註:
2、處理檔案的指令碼1.php
=30720){ #注意:此時檔案夾upload必須已經存在,否則會報錯! if(file_exists("upload/".$_FILES['imgfile']['name'])) echo "檔案已存在,請不要重複上傳。"; else move_uploaded_file($_FILES['imgfile']['tmp_name'],"upload/".$_FILES['imgfile']['name']); echo "檔案上傳成功!"; }else{ echo "不是jpeg或gif的圖片格式,或者檔案小於30k!請重新上傳。"; } } ?>
六、致謝
PHP檔案上傳;
PHP:move_uploaded_file-Manual;
php中$_FILES變數的用法;
PHP上??案,透? PHP $_FILES ?列??上??案;
php上傳常見檔案類型和$_FILES[“file”][“type”].
著作權聲明:本文為Lshare原創文章,需要轉載的請聯絡我,有問題歡迎評論或私信。