Я использую этот подход.Он ожидает, что последние 2 символа будут ==
substr($buff, -2, 1) == '=' && substr($buff, -1, 1) == '=')
Обновление: я закончил тем, что сделал еще одну проверку, если один из приведенных выше не проходит base64_decode ($ buff, true)