真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP如何實(shí)現(xiàn)單文件、多個(gè)單文件、多文件上傳函數(shù)的封裝

本篇文章給大家分享的是有關(guān)PHP如何實(shí)現(xiàn)單文件、多個(gè)單文件、多文件上傳函數(shù)的封裝,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話(huà)不多說(shuō),跟著小編一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷(xiāo),提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站開(kāi)發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷(xiāo)、成都微信小程序、公眾號(hào)商城、等建站開(kāi)發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專(zhuān)家,為不同類(lèi)型的客戶(hù)提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶(hù)在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。

表單:

s.php

要在選擇上傳文件時(shí)能一次選擇多個(gè)文件,那么就加multiple="multiple" ,還有注意下name="myFile1"name="myFile[]"的區(qū)別,單文件、多文件上傳.





無(wú)標(biāo)題文檔







上傳函數(shù)的封裝:

ss.php

$val){
                $files[$i]['name']=$file['name'][$key];
                $files[$i]['type']=$file['type'][$key];
                $files[$i]['tmp_name']=$file['tmp_name'][$key];
                $files[$i]['error']=$file['error'][$key];
                $files[$i]['size']=$file['size'][$key];
                $i++;
            }
        }
    }
    return $files;
}
//針對(duì)于單文件、多個(gè)單文件、多文件的上傳
//默認(rèn)允許上傳的文件只為圖片類(lèi)型,并且只有這些圖片類(lèi)型:$allowExt=array('jpeg','jpg','png','gif');并且檢查上傳的文件是否為真實(shí)的圖片$flag=true
//默認(rèn)上傳保存的文件夾為本地的'uploads'文件夾,允許上傳文件的大小最大為2M
function uploadFile($fileInfo,$path='./uploads',$flag=true,$allowExt=array('jpeg','jpg','png','gif'),$maxSize=2097152){
    //判斷錯(cuò)誤號(hào)
    if($fileInfo['error']===UPLOAD_ERR_OK){
        //檢測(cè)上傳文件的大小
        if($fileInfo['size']>$maxSize){
            $res['mes']=$fileInfo['name'].'上傳文件過(guò)大';
        }
        $ext=getExt($fileInfo['name']);
        //檢測(cè)上傳文件的文件類(lèi)型
        if(!in_array($ext,$allowExt)){
            $res['mes']=$fileInfo['name'].'非法文件類(lèi)型';
        }
        //檢測(cè)是否是真實(shí)的圖片類(lèi)型
        if($flag){
            if(!getimagesize($fileInfo['tmp_name'])){
                $res['mes']=$fileInfo['name'].'不是真實(shí)圖片類(lèi)型';
            }
        }
        //檢測(cè)文件是否是通過(guò)HTTP POST上傳上來(lái)的
        if(!is_uploaded_file($fileInfo['tmp_name'])){
            $res['mes']=$fileInfo['name'].'文件不是通過(guò)HTTP POST方式上傳上來(lái)的';
        }
        if( $res ) return $res; //如果要不顯示錯(cuò)誤信息的話(huà),用if( @$res ) return $res;
        //$path='./uploads';
        //如果沒(méi)有這個(gè)文件夾,那么就創(chuàng)建一
        if(!file_exists($path)){
            mkdir($path,0777,true);
            chmod($path,0777);
        }
        //新文件名唯一
        $uniName=getUniName();
        $destination=$path.'/'.$uniName.'.'.$ext;
        //@符號(hào)是為了不讓客戶(hù)看到錯(cuò)誤信,也可以刪除
        if(!@move_uploaded_file($fileInfo['tmp_name'],$destination)){
            $res['mes']=$fileInfo['name'].'文件移動(dòng)失敗';
        }
        $res['mes']=$fileInfo['name'].'上傳成功';
        $res['dest']=$destination;
        return $res;
    }else{
        //匹配錯(cuò)誤信息
        //注意!錯(cuò)誤信息沒(méi)有5
        switch($fileInfo['error']){
            case 1:
                $res['mes'] = '上傳文件超過(guò)了PHP配置文件中upload_max_filesize選項(xiàng)的值';
                break;
            case 2:
                $res['mes'] = '超過(guò)了HTML表單MAX_FILE_SIZE限制的大小';
                break;
            case 3:
                $res['mes'] = '文件部分被上傳';
                break;
            case 4:
                $res['mes'] = '沒(méi)有選擇上傳文件';
                break;
            case 6:
                $res['mes'] = '沒(méi)有找到臨時(shí)目錄';
                break;
            case 7:
                $res['mes'] = '文件寫(xiě)入失敗';
                break;
            case 8:
                $res['mes'] = '上傳的文件被PHP擴(kuò)展程序中斷';
                break;
        }
        return $res;
    }
}
?>

common.ss.php

上傳后文件的操作:

';
    $uploadFiles[]=$res['dest'];//如果要不顯示錯(cuò)誤信息的話(huà),用@$uploadFiles[]=$res['dest'];
}
$uploadFiles=array_values(array_filter($uploadFiles));//這樣便于保存到數(shù)據(jù)庫(kù)
print_r($uploadFiles);//打印查看上傳保存的結(jié)果
?>

以上就是PHP如何實(shí)現(xiàn)單文件、多個(gè)單文件、多文件上傳函數(shù)的封裝,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站名稱(chēng):PHP如何實(shí)現(xiàn)單文件、多個(gè)單文件、多文件上傳函數(shù)的封裝
分享路徑:http://weahome.cn/article/gjgcps.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部