PHP服务器 安卓客户端
我需要将服务器生成的验证码图片 编码为base64
注意:不是生成显示出图片,而且直接将生成的图片资源编码为base64
so how to do???????
闭关修行中......
主要函数:
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 获取缓冲区数据。参考原文: 原文链接
ob_get_contents
PS:请善用谷歌百度。
如果是生成的验证码保存了服务器端就用file_get_contents获取图片再将结果base64encode后输出即可。
主要函数:
demo:
实现:
=============== 补充 =================
GD to base64:
估计是利用
ob_get_contents
获取缓冲区数据。参考原文: 原文链接
PS:
请善用谷歌百度。
如果是生成的验证码保存了服务器端就用file_get_contents获取图片再将结果base64encode后输出即可。