php如何判断多文件上传,php多文件上传
一、前言
大家好,我是Kavin,給大家分享 php多文件上傳 功能!
PHP的多文件上傳是初學(xué)的一個(gè)重難點(diǎn),在這里我給大家分享一個(gè)自己的學(xué)習(xí)過(guò)程以及源代碼,下面以上傳頭像為例。
文件上傳必須有一個(gè)form表單才能提交,form表單中的必須是post類型因?yàn)?get表單無(wú)法提交二進(jìn)制數(shù)據(jù)),enctype屬性值必須是 multipart/form-data。
*注意文件name后面必須要加中括號(hào)*
在PHP文件當(dāng)中首先要得到上傳的頭像,用FILES(得到的是一個(gè)二維數(shù)組)。
建立一個(gè)儲(chǔ)存頭像的文件夾upload,在PHP文件當(dāng)中定義一個(gè)變量用來(lái)保存“upload/”,定義另外一個(gè)數(shù)組用來(lái)保存合法的后綴名。
利用foreach來(lái)循環(huán)判斷后綴名是否合法,如下。
//判斷上傳是否有錯(cuò)誤
//取出錯(cuò)誤信息
foreach($fileArr['error'] as $key=>$value){
// 0 1 2 0 0 0
// 數(shù)組下標(biāo) 錯(cuò)誤代碼
if($value == 0) {
//獲取文件的后綴
$ext = pathinfo($fileArr['name'][$key],PATHINFO_EXTENSION);
//判斷文件的后綴是否合法
if(in_array($ext,$allow)){
//如果文件后綴不合法,也要給出提示
//使用uniqid() 函數(shù)創(chuàng)建隨機(jī)的文件名,
$fname = "img_".uniqid().".".$ext;
//把上傳的文件依次移動(dòng)到上傳目錄
if(move_uploaded_file($fileArr['tmp_name'][$key], $dirName.$fname)){
echo ($key+1)."上傳成功!
";
}
// 如果移動(dòng)失敗,給出提示
}else {
echo ($key+1)."文件擴(kuò)展名不支持!
";
}
}else {
echo ($key+1)."上傳錯(cuò)誤,錯(cuò)誤代碼:".$value;
}
}
注釋:下圖為得到頭像的二維數(shù)組圖片
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的php如何判断多文件上传,php多文件上传的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: asarray java,Java
- 下一篇: oracle12154错误 Linux,