php获取base64图片大小的方法

春季是一个富有生命力季节,也是一个美丽、神奇,充满希望季节。都说春季是花海洋。粉色淡雅,白色端庄,红色热烈,紫色深情,泼泼洒洒,浓浓烈烈。一朵朵花,把春季朝气蓬勃都开出来了。

在前台有时候上传图片时会以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图片大小的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
php get_magic_quotes_gpc()函数介绍与用法

php取消运行时间限制的方法

php中ini_set函数介绍

php获取文件夹下所有文件/文件夹

php如何实现文件下载的方法