美文网首页
TP5 做图片流上传

TP5 做图片流上传

作者: 涳_de26 | 来源:发表于2019-05-23 17:10 被阅读0次

TP5 接口模式 图片流保存图片

    /**
     * @param $img
     * 图片流格式
     */
    public function setPicRoute($file)
    {
        if (empty($file)){
            return;
        }
        if(empty($uploadPath)){
                $uploadPath = $this->comment_dir;       //保存图片的绝对路径
                $picr = $this->upload_directory.$this->comment_directory;
        }
        $img_name = [];
        if (is_array($file)){       //判断是否为多张图片,记得接收图片格式的时候要json_decode($img,true)转成数组
            foreach ($file as $img){
                $img_name[] = $this->uploadOne($img,$uploadPath,$picr);     //图片上传
            }
        }else{
            $img_name[] = $this->uploadOne($file,$uploadPath,$picr);        //图片上传
        }
        return implode(',',$img_name);      //返回图片路径,用,分割的字符串
    }



    function uploadOne($file,$uploadPath,$picr = '')
    {
        header('Content-type:text/html;charset=utf-8');         
        $base64_image_content = trim($file);            
        //正则匹配出图片的格式
        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) {
            $type = $result[2];//图片后缀

            $dateFile = date('Y-m-d', time()) . "/";  //创建目录
            $new_file = $uploadPath.$dateFile;
            if (!file_exists($new_file)) {
                //检查是否有该文件夹,如果没有就创建,并给予最高权限
                mkdir($new_file, 0700,true);
            }
            $filename = time() . '_' . uniqid() . ".{$type}"; //文件名
            $new_file = $new_file . $filename;
            //写入操作
            if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))) {
                return $picr.$dateFile . $filename;  //返回文件名及路径
            } else {
                throw new JsonErrorException('上传图片失败!');
            }
        }
    }

相关文章

  • TP5 做图片流上传

    TP5 接口模式 图片流保存图片

  • TP5图片上传

  • tp5中unlink(xxx):No sunch file or

    记录一下tp5更新图片的一些过程: 思路:将原来的图片删除并新增上传的图片 ;想到就做了 预览功能(重要部分代码)...

  • 常用图片文件下载上传方法

    上传文件 以图片为例,文件上传可以省略预览图片功能 图片上传可以使用2种方式:文件流和base64; 1.文件流上...

  • 图片处理

    图片流 前端所说的图片流就是读取本地图片,并在页面使用文件流的方式显示出来。 首先,我们简单说下文件上传的几种方式...

  • TP5使用uploadify实现图片上传

    使用uploadify实现图片上传uploadify官网 通过官网,我们将其下载下来,放到public/stati...

  • 调用WebApi接口以流的形式上传图片

    第一部分:编写webApi接口,接受客户端的文件流,再将文件流存为图片 /// /// 上传FQC检测图片...

  • iOS图片,视频上传&视频内容旋转

    内容一:图片上传 我做的图片上传是用的AF,原理就是把你想上传的照片取出来,如果有文件大小的要求就先做相应的图片压...

  • tp5文件上传

    tp5文件上传 [TOC] 一个文件的上传: 表单: up方法: 多个文件上传: 这种方式就是上面的代码循环,还存...

  • NSMutableURLRequest(图片上传)

    昨天做的图片上传,ASIHTTPRequest和AFNetworking都封装了图片上传功能,而我现在的项目需要自...

网友评论

      本文标题:TP5 做图片流上传

      本文链接:https://www.haomeiwen.com/subject/wkqbzqtx.html