php读取和保存base64编码的图片内容

header('Content-type:text/html;charset=utf-8');
    //读取图片文件,转换成base64编码格式
    $image_file = './picture.jpg';
    $image_info = getimagesize($image_file);
    $base64_image_content = "data:{$image_info['mime']};base64," . 
    chunk_split(base64_encode(file_get_contents($image_file)));
    // string chunk_split ( string $body [, int $chunklen = 76 [, string $end = "\r\n" ]] ) 将字符串分割成小块   
    // 使用此函数将字符串分割成小块非常有用。例如将 base64_encode() 的输出转换成符合 RFC 2045 语义的字符串。它会在每 chunklen 个字符后边插入 end

    //保存base64字符串为图片
    //匹配出图片的格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content,$result)){
          $type = $result[2];
          $new_file = "./test.{$type}";
          if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
                echo '新文件保存成功:', $new_file;
          }
    }

    echo "<pre>";
    print_r($result);
    echo "</pre>";
    echo "<pre>";
    print_r($result);
    echo "</pre>";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值