base64图片的php处理,php处理base64图片 | 码农网

php将base64转成图片

最近做了一个上传图片的功能。本来的需求是直接上传图片,就可以把图片当成是一个文件。后来又在界面上加了个图片剪裁的功能,前端说传base64比较方便,所以 php 这边需要将base64转成图片。

看以下示例代码,将base64字符串转成图片,存储起来。

$paramPicBase64 = $_POST['imageBase64']; // 取出图片base64字符串

$paramPicBase64 = str_replace('data:image/png;base64,', '', $paramPicBase64);

$paramPicBase64 = str_replace('data:image/jpeg;base64,', '', $paramPicBase64);

$paramPicBase64 = str_replace(' ', '+', $paramPicBase64);

$image = base64_decode($paramPicBase64);

$name = $_POST['name']; // 取出图片的名字,例如test.jpg

$arrPath = pathinfo($name);

$extension = strtolower($arrPath['extension']);

$uniqueName = sprintf("%s%f", $name, microtime(true));

$uniqueName = md5($uniqueName) . '.' . $extension;

$savepath = dirname(__FILE__) . '/' . $uniqueName ;

file_put_contents($savepath, $paramImage);

php将图片转成base64字符串

比如说在 /home/nemo/testproject/img/test.jpg

路径有个图片,想获取它的base64字符串,可以这样:

$path = '/home/nemo/testproject/img/test.jpg';

$base64Str = base64_encode(file_get_contents($path))

下面还是记录一下 PHP 接收文件的处理逻辑:

if (empty($_FILES) || $_FILES['file']['error'] > 0) {

// 判断上传文件是否出错

……

……

return;

}

$name = $_FILES["file"]["name"]; // 取得上传文件名

$filetype = $_FILES["file"]["type"]; // 文件类型

$filesize = $_FILES["file"]["size"]; // 上传文件的大小,以B为单位

$uploadtmpaddress = $_FILES["file"]["tmp_name"]; // 取得临时地址

if ($filesize > 50 * 1024 * 1024) {

// 判断文件大小是否超过指定大小,例如50M

……

……

return;

}

// 判断文件类型是否是指定类型,比如说是excel文件

if( !in_array($filetype, [

'application/vnd.ms-excel',

'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',

], true)) {

……

……

return;

}

……

……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值