首页 / PHP / PHP处理base64编码字符串
PHP处理base64编码字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP处理base64编码字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1814字,纯文字阅读大概需要3分钟。
内容图文
- 接收前端传过来的base64编码后的字符串, 如果是json字符串, 那么PHP使用file_get_contents(‘php://input‘); 来接收. 本次这里是以post传参的形式传base64字符串.
$photo = \Yii::$app->request->post(‘photo‘, ‘‘); //yii接收,photo变量存储的即base64字符串
- 设置base64转成图片后要保存的文件名 以及 路径
$filename = date(‘YmdHis‘).rand(1111,9999).‘.png‘; $path = \Yii::$app->basePath.‘/web/temp‘;
if(!is_dir($path)){
mkdir($path, 0777, ‘true‘);
}$imagePath = $path.‘/‘.$filename; //文件的完整路径(本地的)
- 判断是否有逗号, 如果有就截取后半部分
if(strstr($photo, ‘,‘)){ $photo = explode(‘,‘, $photo); $photo = $photo[1]; }
- base64生成图片
$r = file_put_contents($imagePath, base64_decode($photo)); //$r接收的是返回的字节数, 至此本地成功生成图片
- 接下来是将本地图片保存至oss上, 并删除本地图片
$photo_url = $this->uploadImg($imagePath); //调用上传oss方法 //删掉本地图片unlink($imagePath);
上传oss方法如下(需要下载ossSDK并引入,此处省略)
public$access_key = ‘你的access_key‘; public$secret_key = ‘你的secret_key‘; public$domain = ‘http://oss-cn-shenzhen.aliyuncs.com‘; //选距离最近的域名public$bucket = ‘你的bucket‘;
//$localdir是图片的本地路径, 也就是$imagePathpublicfunction uploadImg($localdir=‘‘) { include \Yii::$app->basePath.‘extensions/aliyun-oss-php-sdk-2.2.4/autoload.php‘; //将ossSDK包放在extensions目录下, 然后引入autoload.php, 还有命名空间. 即可使用. //把文件上传到oss上try{ $object = md5(time().uniqid()).‘.png‘; $ossClient = new OssClient($this->access_key, $this->secret_key, $this->domain); $exist = $ossClient->doesObjectExist($this->bucket, $object); if(!$exist){ $ossClient->uploadFile($this->bucket, $object, $localdir); } $domain = explode(‘//‘, $this->domain); $url = ‘http://‘.$this->bucket.‘.‘.$domain[1].‘/‘.$object; //拼接访问路径 // $data = [ // ‘status‘ => 0, // ‘msg‘ => ‘success‘, // ‘url‘ => $url, // ];return$url; } catch(OssException $e) { printf(__FUNCTION__ . ": FAILED\n"); printf($e->getMessage() . "\n"); return; } }
原文:https://www.cnblogs.com/bneglect/p/11612830.html
内容总结
以上是互联网集市为您收集整理的PHP处理base64编码字符串全部内容,希望文章能够帮你解决PHP处理base64编码字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。