こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 PHPで文字列エンコード方式のbase64でエンコードされた文字列をデコードすることができるbase64_decode関数について
- base64_decode関数とは
- base64_decode関数を使ったサンプルプログラム
と、丁寧に解説していきます。
目次
前提条件:実行環境
この記事では、PHPを動かすためにXAMPPを使っています。
XAMPPのインストールは、下の記事をご参考ください。
PHPのバージョンは、【7.4.6】です。
base64_decode関数とは
base64_decode関数とは、以下のように引数を指定し、指定した文字列をbase64方式でデコードした文字列を返す関数です。
第一引数(必須) | デコードしたい文字列 |
---|---|
第二引数(任意) | base64の範囲外の文字が含まれているかをチェックするbool |
次章から
- 第二引数を設定しない場合
- 第二引数を設定した場合
のそれぞれを解説します。
第二引数を設定しない場合
第二引数を設定しない場合の使い方サンプルは下記になります。
上記のサンプルだと、resultには「44OG44K544OI」をデコードした「テスト」という文字列が返されます。
第二引数を設定した場合
第二引数を設定した場合の使い方サンプルは下記になります。
第二引数を指定することで、第一引数に指定された文字列がbase64の範囲外の文字が含まれているかをチェックします。
もし指定しなかった場合、デフォルトでfalseが指定されています。
base64に含まれる文字列は
- A~Z
- a~z
- 0~9
- +, /
の64文字が含まれています。
もしbase64の文字列以外が含まれていた場合、falseを返します。
上記のサンプルだと、resultには第一引数の文字列にカタカナが入っているためfalseが返されます。
では、次の章で実際に使ってみます。
base64_decode関数を解説するプログラムの概要
base64_decode関数を解説するプログラムでは、
- パターン1:第2引数を設定しない場合
- パターン2:第2引数を設定した場合
の2パターンでbase64_decode関数を使い、結果を表示させます。
PHPサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $name = "田中太郎"; $encodeName = base64_encode($name); print('■base64でエンコードした結果<br >'); print($encodeName.'<br ><br >'); print('■パターン1:第2引数を設定しない場合<br >'); $decodeName1 = base64_decode($encodeName); print('base64でデコードした結果:'.$decodeName1.'<br ><br >'); print('■パターン2:第2引数を設定した場合<br >'); $decodeName2 = base64_decode($encodeName.'ああ', true); print('オプションありのbase64でデコードした結果:'); var_export($decodeName2); ?> |
base64_encode関数は、文字列をbase64でエンコードできる関数です。
詳しい説明は、こちらの記事をご参考ください。
実行結果
XAMPPを起動して、【http://localhost/base64decodesample.php】のURLにアクセスします。
XAMPPでPHPの動かし方については、こちらの記事をご参考ください。
パターン1はエンコードでき、パターン2はfalseが返されていることが確認できました!
まとめ:base64_decode関数を使ってみよう!
以上がbase64_decode関数についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント