写代码的时候有一个需求是需要把图片转换为base64编码,在页面代码中调用,接下来吾爱编程为大家介绍一下php转换图片为base64编码的方法,有需要的小伙伴可以参考一下。
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。虽然图片可以直接传输,但是我们也可以将它变成字符串直接放在源码里,而不需要浏览器在读取到源码后再从服务器上下载。
转换方法:
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 str_replace(PHP_EOL,'',$base64_image); }
实例:
$img = 'itbiancheng.jpg'; $base64Code = base64EncodeImage($img); echo '<img src="' . $base64Code. '" />';
注意图片转换不能为网络地址,否则转换会失败,建议先下载图片再进行转换