搜索

首页  >  问答  >  正文

在PHP中,如何实现将生成验证码图片 编码为base64获得?

PHP服务器 安卓客户端

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

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

so how to do???????

阿神阿神2778 天前1665

全部回复(2)我来回复

  • 大家讲道理

    大家讲道理2017-05-27 17:44:38

    主要函数:

    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:
    请善用谷歌百度。

    回复
    0
  • 为情所困

    为情所困2017-05-27 17:44:38

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

    回复
    0
  • 取消回复