欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP 图片转化成base64格式显示,后台接收base64格式的图片

程序员文章站 2022-03-30 22:02:11
...

PHP 图片转化成base64格式显示 与 后台接收base64格式的图片

转成base64格式输出

<?php
$img = 'test.png';
$base64_img = base64EncodeImage($img);
 
echo '<img src="'.$base64_img.'"/>';
 
function base64EncodeImage ($image_file) {
    $base64_image = '';
    $image_info = getimagesize($image_file);
    $image_data = fread(fopen($image_file, 'r'), filesize($image_file));
    $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
    return $base64_image;
}
?>

保存base64格式的图片,保存路径为upload/日期,可自行修改,返回保存图片的路径

<?php
function base64_image_content($base64_image_content){
    //匹配出图片的格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
        $type = $result[2];
        //图片路径
        $date=date("Y-m-d",time());
        $new_file="./uploads/".$date."/";
        if(!file_exists($new_file)){
            //检查是否有该文件夹,如果没有就创建,并给予最高权限
            mkdir($new_file, 0700);
        }
        $picname=mt_rand(0,99).time().".{$type}";
        $new_file = $new_file.$picname;
        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
            return "./uploads/".$date."/".$picname;
        }else{
            return false;
        }
    }else{
        return false;
    }
}
?>