PHP伺服器 安卓客戶端
我需要將伺服器產生的驗證碼圖片 編碼為base64
注意:不是產生顯示出圖片,而且直接將產生的圖片資源編碼為base64
so how to do? ? ? ? ? ? ?
闭关修行中......
主要函數:
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 取得緩衝區資料。 參考原文: 原文連結
ob_get_contents
PS:請善用Google百度。
如果是產生的驗證碼保存了伺服器端就用file_get_contents取得圖片再將結果base64encode後輸出即可。
主要函數:
demo:
實作:
=============== 補充 =================
GD to base64:
估計是利用
ob_get_contents
取得緩衝區資料。參考原文: 原文連結
PS:
請善用Google百度。
如果是產生的驗證碼保存了伺服器端就用file_get_contents取得圖片再將結果base64encode後輸出即可。