這篇文章主要介紹了PHP安全的URL字串base64編碼和解碼,在base64的基礎上替換了不安全的一些字元,需要的朋友可以參考下


如果直接使用base64_encode和base64_decode方法的話,生成的字串可能不適用URL地址。下面的方法可以解決該問題:


URL安全的字串編碼:

1
2
3
4
5
function urlsafe_b64encode($string) {
   $data base64_encode($string);
   $data str_replace(array(`+`,`/`,`=`),array(`-`,`_`,``),$data);
   return $data;
 }


URL安全的字串解碼:

1
2
3
4
5
6
7
8
function urlsafe_b64decode($string) {
   $data str_replace(array(`-`,`_`),array(`+`,`/`),$string);
   $mod4 strlen($data) % 4;
   if ($mod4) {
       $data .= substr(`====`$mod4);
   }
   return base64_decode($data);
 }