Comment puis-je savoir si une chaîne est une donnée codée avec la fonction base64_encode()
ou non?La chaîne de caractères 64 est-elle codée?
Est-ce possible?
Comment puis-je savoir si une chaîne est une donnée codée avec la fonction base64_encode()
ou non?La chaîne de caractères 64 est-elle codée?
Est-ce possible?
Essayez de le décoder strictement par rapport à l'alphabet Base64. Le deuxième paramètre vous permet d'appliquer cette vérification stricte; en le laissant dehors, la fonction de décodage des bandes simplement des caractères illégaux avant décodage:
if (base64_decode($str, true) === false)
{
echo 'Not a Base64-encoded string';
}
Essayez ceci:
if(base64_encode(base64_decode($img, true)) === $img)
echo 'is a Base64-encoded string' ;
Il serait beaucoup mieux si vous ne auriez pas besoin d'une telle détection du tout. Beaucoup de programmeurs expérimentés peuvent vivre sans elle et je suis sûr que vous pourriez. –
Voir aussi http://stackoverflow.com/questions/475074 – Gumbo
@Gumbo: Je n'ai pas ajouté la balise [php5] - mon édition a pris plus de temps que la vôtre. Je l'ai enlevé maintenant. – BoltClock