thinkphp base64图片多图上传

今之人兮
  • 14

thinkphp3.2.3 base64格式图片多图上传,转码后保存图片到服务器并返回对应url以及状态是否成功

回复
阅读 3.7k
2 个回答
/**
 * 保存64位编码图片
前端参考http://www.cn3wm.com/3wmkj/yzmsfa/index.php?s=/Home/Index/applay.html
 */

 function saveBase64Image($base64_image_content){

        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){

                  //图片后缀
                  $type = $result[2];
                  if($type=='jpeg'){
                        $type='jpg';
                  }

                  //保存位置--图片名
                  $image_name=date('His').str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT).".".$type;
                  $image_url = 'uploads/image/'.date('Ymd').'/'.$image_name;           
                  if(!is_dir(dirname('./'.$image_url))){
                         mkdir(dirname('./'.$image_url));
                        chmod(dirname('./'.$image_url), 0777);
                        umask($oldumask);

                  }
                 
                  //解码
                  $decode=base64_decode(str_replace($result[1], '', $base64_image_content));
                  if (file_put_contents('./'.$image_url, $decode)){
                        $data['code']='0';
                        $data['imageName']=$image_name;
                        $data['image_url']=$image_url;
                        $data['type']=$type;
                        $data['msg']='保存成功!';
                  }else{
                    $data['code']='1';
                    $data['imgageName']='';
                    $data['image_url']='';
                    $data['type']='';
                    $data['msg']='图片保存失败!';
                  }
        }else{
            $data['code']='1';
            $data['imgageName']='';
            $data['image_url']='';
            $data['type']='';
            $data['msg']='base64图片格式有误!';


        }       
        return $data;


 }
林66
  • 1
新手上路,请多包涵

我想你可以参考下这个。base64多图上传就是多一个数据遍历而已。至于在什么框架下则无所谓了。http://blog.leanote.com/post/...

你知道吗?

宣传栏