春季是一个富有生命力季节,也是一个美丽、神奇,充满希望季节。都说春季是花海洋。粉色淡雅,白色端庄,红色热烈,紫色深情,泼泼洒洒,浓浓烈烈。一朵朵花,把春季朝气蓬勃都开出来了。
在前台有时候上传图片时会以base64数据流的形式进行上传,那如何在后台用php脚本来判断base64图片数据流的大小呢?下面就给出一种简单的php判断base64数据流大小的方法。
php 获取base64图片大小的方法
php自定义获取base64图片大小的方法
/**
* # php获取base64格式图片的大小
* @param string $base64img base64格式的图片
* @param string $type 默认获取的大小的单位为KB,可以指定单位为 B
*
* @return string
*/
function get_base64img_size($base64img,$type = 'KB')
{
if(preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64img, $result)){
$type = $result[2];
$base_img = str_replace($result[1], '', $base64img);
$base_img = str_replace('=','',$base_img);
$img_len = strlen($base_img);
$file_size = intval($img_len - ($img_len/8)*2);
if($type == 'B'){
return $file_size.'B';
}
$file_size = number_format(($file_size/1024),2);
if($type == 'KB'){
return $file_size.'KB'
}
//可以自己加个转成MB,GB的逻辑
$file_size = number_format(($file_size/1024),2);
if($type == 'MB'){
return $file_size.'MB'
}
$file_size = number_format(($file_size/1024),2);
if($type == 'GB'){
return $file_size.'GB'
}
}
return 0;
}函数的调用
$base = 'data:image/png;base64,sdfsdfsd.....'; //图片的base64数据流 var_dump(get_base64img_size($base));
到此这篇关于php获取base64图片大小的方法就介绍到这了。健康没有捷径,来自点滴习惯的养成;养生只能自学,随时保持学习的状态。更多相关php获取base64图片大小的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!