您的位置:首页 > 编程语言 > PHP开发

PHP的 urlencode()在ThinkPHP框架中的使用需要注意的地方

2013-01-31 21:43 603 查看
PHP中的urlencode()

除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。

替换规则有

字符 特殊字符的含义 URL编码
# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
\ 表示目录路径 %2F      (在浏览器中表现为 “ / ”)
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F

(以下现象是我在本地测试结果,本地开启PATHINFO模式,网络还没测)

我用了一个加密函数加密一个参数,然后在页面间用get方法传递,发现只要存在%2F 也就是 斜杠“/”,就出现以下现象



原因没分析出来, 于是我在使用 urlencode()函数之后,专门对%2F进行了处理 ,替换一个我认为也绝对会唯一的识别 %2XURL

在接受值的时候专门讲 %2XURL 替换成 /

$urle=str_replace("%2XURL", "/", $_GET['CODE']);

然后在进行解码;

如有高手路过,请指教具体原因

参考文档http://www.huacolor.com/article/2187.html

/article/1268683.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: