PHP 接口中base64圖片上傳(多圖批量)

因?yàn)樽龅氖莂pp的接口,里面的make_arr()方法是給前臺的json格式數(shù)據(jù)

protected function make_arr($data, $message = '成功',$other = '0')
    {
        Tool::convertArrayNullValue($data);
        if($data && $other == '0') {
            $rdata['status'] = "1";
            $rdata['message'] = $message;
            $rdata['data'] = $data;
        }else if($other <> '0'){
            $rdata['status'] = $other;
            $rdata['message'] = $message;
        }else{
            $rdata['status'] = "0";
            $rdata['message'] = '失敗';
        }
        return json_encode($rdata);
    }

base64圖片上傳
$img是前臺給的圖片base64

public function upfile(){
        $img = I('img');//圖片base64    用 ”|“符號隔開
        $img = explode('|', $img);
        if($img){
            foreach($img as $v){
                $base64_img = trim($v);
                $up_dir = 'Public/Console/images/home/'.date('Y',time()).'/'.date('m',time());
                if(!is_dir($up_dir)){
                    mkdir($up_dir,0777,true);
                }
                if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_img, $result)){
                    $type = $result[2];
                    if(in_array($type,array('pjpeg','jpeg','jpg','gif','bmp','png'))){
                        $new_name = time().uniqid();
                        $new_file = $up_dir.'/'.$new_name.'.'.$type;
                        
                        $base64_1 = str_replace($result[1],'', $base64_img);
                        if(file_put_contents($new_file, base64_decode($base64_1))){
                            $pic = '/'.$new_file;
                            $nnpic = $pic.','.$nnpic;
                        }else{
                            echo $this->make_arr('','上傳失敗','0');die;
                        }
                        
                    }else{
                        //文件類型錯誤
                        echo $this->make_arr('','文件類型錯誤','2');die;
                    }
                }else{  
                    //文件錯誤
                    echo $this->make_arr('','base64錯誤','3');die;
                }
            }
            if($nnpic){
               echo $this->make_arr($nnpic,'成功');die;  //返回用逗號隔開的上傳后的圖片路徑
            }
        }else{
            echo $this->make_arr('','參數(shù)錯誤','4');die;
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容