在PHP中,如何實現將產生驗證碼圖片 編碼為base64獲得?
阿神
阿神 2017-05-27 17:42:38
0
2
1655

PHP伺服器 安卓客戶端

我需要將伺服器產生的驗證碼圖片 編碼為base64

注意:不是產生顯示出圖片,而且直接將產生的圖片資源編碼為base64

so how to do? ? ? ? ? ? ?

#
阿神
阿神

闭关修行中......

全部回覆(2)
大家讲道理

主要函數:

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:
請善用Google百度。

为情所困

如果是產生的驗證碼保存了伺服器端就用file_get_contents取得圖片再將結果base64encode後輸出即可。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板