7

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

Is it possible?

BoltClock
  • 630,065
  • 150
  • 1,295
  • 1,284
Richard Knop
  • 73,317
  • 142
  • 374
  • 539

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
  • 630,065
  • 150
  • 1,295
  • 1,284
1

Try this:

if(base64_encode(base64_decode($img, true)) === $img)
   echo 'is a Base64-encoded string' ;
Mahdi Bashirpour
  • 9,916
  • 5
  • 70
  • 101