Heim  >  Fragen und Antworten  >  Hauptteil

Wie kodiert man in PHP das generierte Verifizierungscode-Bild in base64?

PHP-Server-Android-Client

Ich muss das vom Server generierte Bestätigungscode-Bild in base64 kodieren

Hinweis: generiert und zeigt keine Bilder an, sondern codiert die generierten Bildressourcen direkt in base64

also wie geht das? ? ? ? ? ? ?

阿神阿神2673 Tage vor1588

Antworte allen(2)Ich werde antworten

  • 大家讲道理

    大家讲道理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:
    请善用谷歌百度。

    Antwort
    0
  • 为情所困

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

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

    Antwort
    0
  • StornierenAntwort