前言
一个二维码生成的接口,直接传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));
}
?>
使用这两个函数就解决了...