文件上傳的設(shè)置及數(shù)據(jù)接收
最近在做php項(xiàng)目,其中就有文件上傳的處理。用就仔細(xì)研究了一下文件上傳的控制及數(shù)據(jù)接收處理。
下面介紹一下用form表單上傳文件的兩種方法:
一、form表單用的是post方法,并加上enctype='multipart/form-data'屬性,如下:
<form action='路徑' method='post' enctype='multipart/form-data'></form>
數(shù)據(jù)接收可以用$_FILES接收,正常接收成功會(huì)得到一個(gè)數(shù)組:
Array ( [name] => 001.jpeg [type] => image/jpeg [tmp_name] => D:\wamp\tmp\php3B6.tmp [error] => 0 [size] => 163181 ),
$FILES["file控件名稱"]["name"] 上傳文件的文件名
$FILES["file控件名稱"]["size"] 上傳文件的大小,以字節(jié)為單位
$FILES["file控件名稱"]["type"] 上傳文件的mime類型
$FILES["file控件名稱"]["error"] 上傳信息的錯(cuò)誤信息代碼, 0-->ok
$FILES["file控件名稱"]["tmp_name"] 在服務(wù)器上的臨時(shí)存儲(chǔ)位置
之后可用move_uploaded_file("臨時(shí)位置","目標(biāo)位置")進(jìn)行上傳操作
在file控件中會(huì)有一個(gè)對(duì) MAX_FILE_SIZE 設(shè)置的值,不能大于 ini 設(shè)置中 upload_max_filesize 選項(xiàng)設(shè)置的值。不加則默認(rèn)值為 2M 字節(jié)。
若上傳文件大于2M,則會(huì)出現(xiàn)數(shù)據(jù)接收錯(cuò)誤并會(huì)得到下面的數(shù)組:
Array ( [name] => jingdong.BMP [type] => [tmp_name] => [error] => 1 [size] => 0 ),這時(shí)就不能進(jìn)行上傳操作
二、form表單不加enctype='multipart/form-data'屬性,這時(shí)就用php://input來(lái)接收文件信息
|