Rumah > Artikel > pembangunan bahagian belakang > thinkphp处理base64图片
<code> $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; </code>
tp给的例子怎么应用
<code>$image = \think\Image::open('./image.png'); // 返回图片的宽度 $width = $image->width(); // 返回图片的高度 $height = $image->height(); // 返回图片的类型 $type = $image->type(); // 返回图片的mime类型 $mime = $image->mime(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度 $size = $image->size(); </code>
如何用thinkphp处理得到的$result? 比如我想改变一下图片的宽高 然后再上传到服务器上。
谢谢!
<code> $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; </code>
tp给的例子怎么应用
<code>$image = \think\Image::open('./image.png'); // 返回图片的宽度 $width = $image->width(); // 返回图片的高度 $height = $image->height(); // 返回图片的类型 $type = $image->type(); // 返回图片的mime类型 $mime = $image->mime(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度 $size = $image->size(); </code>
如何用thinkphp处理得到的$result? 比如我想改变一下图片的宽高 然后再上传到服务器上。
谢谢!
这个是我安装网上原生的去封装的,你参考一下,其实很简单,就是把base64位解码,然后本地保存。
我下面这个只是生成。
至于你说的操作图片大小,就我接触的来讲,要么你上传之前用js插件让用户截图完上传,要么你本地生成之后,再用PHP去操作。服务器要操作文件只能操作本地文件。
<code> /** * 保存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; }</code>
临时保存为image.png
然后再用thinnkphp的image类去操作,搞定后再把临时的图片删除。