Maison  >  Questions et réponses  >  le corps du texte

En PHP, comment encoder l'image du code de vérification générée en base64 ?

Client Android du serveur PHP

Je dois encoder l'image du code de vérification générée par le serveur en base64

Remarque : ne génère ni n'affiche d'images, mais encode directement les ressources d'images générées en base64

alors comment faire ? ? ? ? ? ? ?

阿神阿神2672 Il y a quelques jours1587

répondre à tous(2)je répondrai

  • 大家讲道理

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

    Fonctions principales :

    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;
    }

    démo :

    <?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;
    }
    ?>

    Réalisation :

    ================ Supplément =================

    GD en base64 :

    ob_start (); 
    imagejpeg ($img);
    $image_data = ob_get_contents (); 
    ob_end_clean (); 

    On estime que ob_get_contents est utilisé pour obtenir des données tampon.
    Référence au texte original : Lien vers le texte original

    PS :
    Veuillez faire bon usage de Google Baidu.

    répondre
    0
  • 为情所困

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

    Si le code de vérification généré est enregistré côté serveur, utilisez file_get_contents pour obtenir l'image, puis encodez en base64 le résultat et affichez-le.

    répondre
    0
  • Annulerrépondre