zoukankan      html  css  js  c++  java
  • 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" } ] }

  • 相关阅读:
    设计模式 创建型 单例模式
    设计模式 创建型 抽象工厂模式
    设计模式六大原则
    设计模式 创建型 工厂方法模式
    设计模式 创建型 简单工厂模式
    Junit TDD
    覆盖索引
    多列索引 单列索引
    JDBC PreparedStatement Statement
    常用·SQL
  • 原文地址:https://www.cnblogs.com/njccqx/p/11988829.html
Copyright © 2011-2022 走看看