如何在laravel中使用base64编码api URL?

时间:2017-01-24 06:07:14

标签: php laravel-5 laravel-5.2

如何在laravel中使用base64对URL进行编码?

我需要这样的东西:

原始网址:http://localhost/dashboard/api/test/

编码网址:http://localhost/dashboard/YXBpL3Rlc3Qv

2 个答案:

答案 0 :(得分:2)

如果你正在使用Routes,你可以这样做:

Route::get('/dashboard/{code}', function($code){
     $url = base64_decode($code);
     //redirect according to $url ... for example "api/test/"
     return redirect( $url );
});

答案 1 :(得分:0)

我发现这段代码对我有帮助,我只是在寻找可以从base64字符串中删除“ =”的东西,因此在这里:-

<?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));
    }
?>

示例:-

dump(rtrim(strtr(base64_encode('Hello World'), '+/', '-_'), '='));
$encodedString = rtrim(strtr(base64_encode('Hello World'), '+/', '-_'), '=');
dd(base64_decode(str_pad(strtr($encodedString, '-_', '+/'), strlen($encodedString) % 4, '=')));

我希望这对某人有帮助。