2010-08-17 57 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' ;