thinkphp处理base64图片
程序员文章站
2022-03-28 16:20:12
...
$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;
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();
如何用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;
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();
如何用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;
}
临时保存为image.png
然后再用thinnkphp的image类去操作,搞定后再把临时的图片删除。