php图片上传base64接口上传

 public function multi_imgupload()
    {
        $jsdata = html_entity_decode($_POST["jsdata"]);
        $jsdatass = json_decode($jsdata, true);
        $data=array();
        $msg="";
        $code="0";
        if($jsdatass) {
            foreach ($jsdatass as $key => &$value) {
                $imgname = $value['imgname'];
                $imgbase64 = $value['imgbase64'];
                //图片上传
                if (preg_match('/^(data:\s*image\/(\w+);base64,)/',$imgbase64,$result)){
                    $type = $result[2];//图片后缀
                    $new_file =ROOT_PATH . 'attachs' . DS ;
                    $url='/ueditor/imagebase64/'. date("Ymd", time()) . "/";
                    $new_file=$new_file.$url;
                    if (!file_exists($new_file)) {
                        //检查是否有该文件夹,如果没有就创建,并给予最高权限
                        mkdir($new_file, 0777,true);
                    }

                    $filename = time() . '_' . uniqid() . ".{$type}"; //文件名
                    $new_file = $new_file . $filename;
                    $url=$url.$filename;
                    //写入操作

                    if(file_put_contents($new_file, base64_decode(str_replace($result[1], '', $imgbase64)))) {
                        $data_img = array();
                        $data_img['imgurl'] = $url;
                        $data_img['imgname'] =$imgname;
                        $data_img['create_time'] = time();
                        $pid = Db::table("wxb_imgurlknowledge")->insertGetId($data_img);
                        $arr = array("url" => $url, "id" => $pid);
                        $url_top = 'http://';
                        if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
                            $url_top = 'https://';
                        }
                        $url=$url_top.$_SERVER['HTTP_HOST'].'/attachs'.$url;
                        $code="1";
                        $msg="上传成功";
                        $data[]=array('name'=>$imgname,'url'=>$url);
                    }
                }

            }
        }
        else
        {
            $code="0";
            $msg="上传失败,图片参数为空,请上传图片";
        }

        return $this->result($data, $code, $msg, 'json');
    }

 

 

 

接收参数 jsdata [{"imgname":1945,"imgbase64":1},{"imgname":1946,"imgbase64":1}]

 

返回参数 { "code": 1, "msg": "上传成功", "time": 1575442476, "data": [ { "name": "22002.jpg", "url": /ueditor/imagebase64/20191204/1575442476_5de7582c45396.png" }, { "name": "11002.jpg", "url": "/ueditor/imagebase64/20191204/1575442476_5de7582c49401.png" } ] }

posted @ 2019-12-05 13:51  net开发人员  阅读(2863)  评论(1编辑  收藏  举报