在PHP中,如何实现将生成验证码图片 编码为base64获得?
阿神
阿神 2017-05-27 17:42:38
0
2
1657

PHP服务器 安卓客户端

我需要将服务器生成的验证码图片 编码为base64

注意:不是生成显示出图片,而且直接将生成的图片资源编码为base64

so how to do???????

阿神
阿神

闭关修行中......

全部回复(2)
大家讲道理

主要函数:

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;
}

demo:

<?php
$img = 'icon.jpg';
$base64_img = base64EncodeImage($img);
 
echo '<img src="' . $base64_img . '" />';
echo '<img src="' . $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;
}
?>

实现:

=============== 补充 =================

GD to base64:

ob_start (); 
imagejpeg ($img);
$image_data = ob_get_contents (); 
ob_end_clean (); 

估计是利用 ob_get_contents 获取缓冲区数据。
参考原文: 原文链接

PS:
请善用谷歌百度。

为情所困

如果是生成的验证码保存了服务器端就用file_get_contents获取图片再将结果base64encode后输出即可。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板