7

How can I find whether a string is a data encoded with base64_encode() function or not?

Is it possible?

BoltClock
  • 700,868
  • 160
  • 1,392
  • 1,356
Richard Knop
  • 81,041
  • 149
  • 392
  • 552

2 Answers2

18

Attempt to decode it strictly against the Base64 alphabet. The second parameter allows you to enforce this strict check; by leaving it out, the decoding function simply strips out illegal characters before decoding:

if (base64_decode($str, true) === false)
{
    echo 'Not a Base64-encoded string';
}
BoltClock
  • 700,868
  • 160
  • 1,392
  • 1,356
1

Try this:

if(base64_encode(base64_decode($img, true)) === $img)
   echo 'is a Base64-encoded string' ;
Mahdi Bashirpour
  • 17,147
  • 12
  • 117
  • 144