PHP安全的URL字符串base64编码和解码

yipeiwu_com7年前PHP代码库

如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:

URL安全的字符串编码:

复制代码 代码如下:

function urlsafe_b64encode($string) {
   $data = base64_encode($string);
   $data = str_replace(array('+','/','='),array('-','_',''),$data);
   return $data;
 }


URL安全的字符串解码:

复制代码 代码如下:

function urlsafe_b64decode($string) {
   $data = str_replace(array('-','_'),array('+','/'),$string);
   $mod4 = strlen($data) % 4;
   if ($mod4) {
       $data .= substr('====', $mod4);
   }
   return base64_decode($data);
 }

相关文章

PHP信号处理机制的操作代码讲解

我们首先来看下实例代码: function sig_handler($sig) { print("handled sig: $sig\n"); } pc...

php fsockopen中多线程问题的解决办法[翻译]

问题: 有没有办法在php中实现多线程呢? 假设你正在写一个基于多台服务器的php应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。 可以实现吗? 回答: 当有人想要实现并发...

PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】

本文实例讲述了PHP基于imagick扩展实现合成图片的两种方法。分享给大家供大家参考,具体如下: 方法一:compositeimages /** * function: 合成图片...

详解PHP变量传值赋值和引用赋值变量销毁

详解PHP变量传值赋值和引用赋值变量销毁

本文实例为大家分享了PHP变量传值赋值和引用赋值变量销毁的具体代码,供大家参考,具体内容如下 <?php $a = 100; $b = 200; v...

Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解

本文的内容主要是为了解决在Centos6.5下PHP5.3安装ffmpeg扩展的问题,下面话不多说,来看看详细的步骤吧。 安装步骤如下: 安装必须的环境yasm wget htt...