こんにちは、いつもお読みいただきありがとうございます。
Ken(@gootablog)です
画像解析をする際に使用したAPIで、画像データをJSONに含めて渡さないといけなかった。
その際にBase64という形式にして渡す必要があったのでそのやり方を書いていきます。
Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。
Base64 – Wikipedia
PHPで画像をbase64エンコード
file_get_content()でfileを文字列として読み込んで
base64_encode()`の引数に渡して実行する
その文字列を
<?php
$encoded_data = base64_encode(file_get_contents('test.jpg'));
これでエンコードされたデータになるので、jsonで扱うことができる
base64でエンコードされたデータをデコードする
エンコードされたデータを元に戻して使いたい時は、base64_decode()
を使えばOK。
<?php
$image = base64_decode($encoded_data);