base64 her türlü değer döndürüyor yani o teknik işe yaramaz. Çözüm aşağıda ki örnekte.
<?php
$text = "bWVyaGFiYQ==";
$test1 = base64_decode($text);
$test2 = base64_encode($test1);
$test3 = base64_decode($test2);
$type1 = mb_detect_encoding($text);
$type2 = mb_detect_encoding($test3);
if ($type1 == $type2) {
// Base64 ile kodlanmış
} else {
// Base64 ile kodlanmamış
$text = base64_decode($text);
echo $text;
}
Muhtemelen UTF-8 veri bekliyor arkadaş. UTF-8 == mb_detect_encoding -> base64_decode -> $input şeklinde kısa olarak da kullanılabilir.