今天來淺談下php通過input表單上傳文件。
一爽待、上傳文件的一些基礎(chǔ)知識(shí)點(diǎn)
注:通過input上傳 enctype="multipart/form-data" 一定不能省
1、接收上傳文件
$_FILES
輸出上傳文件的內(nèi)容藤韵,是一個(gè)數(shù)組来颤。其源代碼如下:
print_r($_FILES);
其中各個(gè)參數(shù)如下:
// name 上傳的文件原文件名,不代表文件抚吠,僅僅是字符串
// tmp_name 文件上傳到服務(wù)器的臨時(shí)的文件名,上傳后的文件位于該位置弟胀,這個(gè)是文件【文件只會(huì)在這里保存一會(huì)楷力,就會(huì)自動(dòng)刪除】
// type 上傳的文件類型
// size 上傳的文件大小
// error 上傳的文件錯(cuò)誤信息
2、判斷上傳文件類型
echo $_FILES['file']['type']; // ‘file’是對(duì)應(yīng)的input name名孵户,表單通過name獲取value值
列:
// 1萧朝、要求只能上傳圖片類型 jpeg png gif
$type = $_FILES['file']['type'];
if($type == "image/jpeg" || $type == "image/png" || $type == "image/gif"){...}
// 2、要求只能上傳 php類型
if($type == "text/php"){...};
3夏哭、文件拷貝 copy
// 原文件路徑: $_FILES['file']['tmp_name'];
// 上傳路徑:$_FILES['file']['name']; 相對(duì)路徑检柬,可以給任意想要的路徑
copy("原文件路徑","上傳路徑");
3、將上傳文件移動(dòng)到新的位置 move_uploaded_file
// 本函數(shù)會(huì)檢查并確保指定的文件是合法的上傳文件(通過 PHP 的 HTTP POST 上傳機(jī)制所上傳的)竖配,才會(huì)上傳[安全]
// 移動(dòng)_上傳_路徑tmp
move_uploaded_file("原文件路徑","上傳路徑");