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

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后输出即可。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号