スペースが入った文字をbase64_decode
base64_decodeを使用したのですが、なぜか値が正常にならずに悩みました。
そこで分かったこととして、
base64_encodeしたデータをPOSTで渡すと、Base64の「+」記号が勝手にスペースに変換される模様。
それで、そのデータをbase64_decodeしてもデータが崩れるという事象が起こってたらしい。
そこで、先にスペースを+に変換してから、decodeしてあげることで回避出来ました。
$str = base64_decode(str_replace(' ', '+', $str));
分かってしまえば非常に簡単なものの、結構悩みました。これはPHP自体の問題なのだろうか。。