前言

一个二维码生成的接口,直接传url会识别不全,只能编码了,试了urlencode还是一样的识别不全,于是使用了base64_encode没开启完全匹配倒是没问题,开启了完全匹配就提示错误了,没有定义这个路由....最后也找到了原因,base64_encode编码以后空格自动填充为==,导致了匹配不到路由,看了官方文档,提供了解决方法。

解决

地址:https://www.php.net/manual/zh/function.base64-encode.php

<?php 
function base64url_encode($data) { 
  return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); 
} 

function base64url_decode($data) { 
  return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT)); 
} 
?>

使用这两个函数就解决了...

最后修改:2021 年 04 月 01 日
如果觉得我的文章对你有用,请随意赞赏