PHP可用于地址栏的base64编码和解码

发布时间:2020-03-07编辑:脚本学堂
PHP可用于地址栏的base64编码和解码

本文介绍的内容实现对字符串进行编码和解码,并可在地址栏传递使用。
本方法使用的是替换字符,将/和+分别替换成-和(并将最后的等号转换成一个数字,代表等号出现的次数。
 

复制代码 代码如下:

<?php
function base64_en($str){
        $result = base64_encode($str);
        $result = str_replace("/","-",$result);
        $result = str_replace("+","(",$result);
        $i=0;
        while(substr($result,strlen($result)-1)=="="){
                $result = substr($result,0,strlen($result)-1);
                $i++;
        }
        return $result . $i;
}

function base64_de($str){
        $result = str_replace("-","/",$str);
        $result = str_replace("(","+",$result);
        $last = intval(substr($result,strlen($result)-1));
        $normal = substr($result,0,strlen($result)-1);
        if($last==0){return base64_decode($normal);}
        for($i=1;$i<=$last;$i++){
                $normal .= "=";
        }
        return base64_decode($normal);
}
?>