2010-08-17 65 views
6

如何查找字符串是否是使用base64_encode()函数编码的数据?字符串基地64编码?

可能吗?

+1

这将是一个好多了,如果你不需要这样的检测都没有。许多有经验的程序员可以没有它,我相信你可以。 – 2010-08-17 07:54:51

+1

另请参阅http://stackoverflow.com/questions/475074 – Gumbo 2010-08-17 07:56:33

+0

@Gumbo:我没有添加[php5]标记 - 我的编辑需要更长的时间来提交比你的做法。我已经删除它。 – BoltClock 2010-08-17 08:00:12

回答

17

尝试严格对照Base64字母进行解码。第二个参数允许你执行这个严格的检查;留下出来,解码功能简单地剔除了非法字符解码之前:

if (base64_decode($str, true) === false) 
{ 
    echo 'Not a Base64-encoded string'; 
} 
1

试试这个:

if(base64_encode(base64_decode($img, true)) === $img) 
    echo 'is a Base64-encoded string' ;