这篇文章主要介绍了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 );
  }