base64_encode()函数不能与等于(==)运算符一起使用。

时间:2014-04-22 07:06:51

标签: php encoding base64 urlencode urldecode

$url = get_url(CONFIRM,base64_encode($_POST['status']."|".$agent_id));
ta_send_verification($_POST['email'],$_POST['agent_name'],$url);

我正在将个人资料确认邮件发送到用户个人资料。该邮件包含激活网址链接。当我点击该链接时,我得到了这个网址

网址错误

MlJPSEU0WEFKVlNZSFZFRFVXMlk1VVpUUTBIRk1KT0w0WDVBUzNVMnwyNA==

更正网址

MlJPSEU0WEFKVlNZSFZFRFVXMlk1VVpUUTBIRk1KT0w0WDVBUzNVMnwyNA

第二个网址是正确的,它也可以正常工作。但是,在我的激活链接中,我总是得到这个==等于符号的网址。我不知道如何在激活网址链接中删除==等于符号?

1 个答案:

答案 0 :(得分:3)

base64_encode()的默认行为==只不过是填充。

来自wikipedia of base64 encoding..

  

' =='和' ='序列表示最后一组仅包含   分别为8或16位。

要删除它,只需为双等号执行str_replace()

$url = get_url(CONFIRM,base64_encode($_POST['status']."|".$agent_id));
$url = str_replace('==','',$url);