thinkphp处理base64图片

WBOY
Release: 2016-10-17 09:30:16
Original
3390 people have browsed it

        $url = ''//网络图片地址;
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_URL, '');
        curl_setopt($curl, CURLOPT_REFERER, '');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($curl);
        // header('Content-type: image/JPEG');
        // echo $result;
        return $result;
        
Copy after login
Copy after login

tp给的例子怎么应用

$image = \think\Image::open('./image.png');
// 返回图片的宽度
$width = $image->width(); 
// 返回图片的高度
$height = $image->height(); 
// 返回图片的类型
$type = $image->type(); 
// 返回图片的mime类型
$mime = $image->mime(); 
// 返回图片的尺寸数组 0 图片宽度 1 图片高度

$size = $image->size(); 
Copy after login
Copy after login

如何用thinkphp处理得到的$result? 比如我想改变一下图片的宽高 然后再上传到服务器上。
谢谢!

回复内容:

        $url = ''//网络图片地址;
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_URL, '');
        curl_setopt($curl, CURLOPT_REFERER, '');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($curl);
        // header('Content-type: image/JPEG');
        // echo $result;
        return $result;
        
Copy after login
Copy after login

tp给的例子怎么应用

$image = \think\Image::open('./image.png');
// 返回图片的宽度
$width = $image->width(); 
// 返回图片的高度
$height = $image->height(); 
// 返回图片的类型
$type = $image->type(); 
// 返回图片的mime类型
$mime = $image->mime(); 
// 返回图片的尺寸数组 0 图片宽度 1 图片高度

$size = $image->size(); 
Copy after login
Copy after login

如何用thinkphp处理得到的$result? 比如我想改变一下图片的宽高 然后再上传到服务器上。
谢谢!

这个是我安装网上原生的去封装的,你参考一下,其实很简单,就是把base64位解码,然后本地保存。
我下面这个只是生成。
至于你说的操作图片大小,就我接触的来讲,要么你上传之前用js插件让用户截图完上传,要么你本地生成之后,再用PHP去操作。服务器要操作文件只能操作本地文件。


/**
 * 保存64位编码图片
 */

 function saveBase64Image($base64_image_content){

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

                  //图片后缀
                  $type = $result[2];

                  //保存位置--图片名
                  $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['url']=$image_url;
                        $data['msg']='保存成功!';
                  }else{
                    $data['code']=1;
                    $data['imgageName']='';
                    $data['url']='';
                    $data['msg']='图片保存失败!';
                  }
        }else{
            $data['code']=1;
            $data['imgageName']='';
            $data['url']='';
            $data['msg']='base64图片格式有误!';


        }       
        return $data;


 }
Copy after login

临时保存为image.png
然后再用thinnkphp的image类去操作,搞定后再把临时的图片删除。

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact [email protected]
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!