PHP URL编码/解码
P粉512363233
P粉512363233 2023-08-14 13:16:12
0
2
475
<p>我使用了这个问题中被接受的解决方案来对id进行加密,例如在<strong>/index.php?id=3</strong>中。问题是我无法将加密后的值作为url发送,例如<strong>/index.php?id=dsf13f3343f23/23=</strong>。因为有时候url中会有奇怪的字符,例如注意末尾的<code>=</code>符号</p>
P粉512363233
P粉512363233

全部回复(2)
P粉214176639

使用PHP的urlencode()函数将值编码后再放入URL中。

该函数将“奇怪”的字符,如=,转换为安全放入URL中的格式。你可以像这样使用它:

Header('Location: /index.php?id=' . urlencode($id))
P粉346326040

在URL中传递的值中的奇怪字符应该使用urlencode()进行转义。


例如,以下代码片段:

echo urlencode('dsf13f3343f23/23=');

将给出:

dsf13f3343f23%2F23%3D

作为URL参数,这样是有效的。


如果你想要构建一个包含多个参数的查询字符串,请查看http_build_query()函数。

例如:

echo http_build_query(array(
    'id' => 'dsf13f3343f23/23=',
    'a' => 'plop',
    'b' => '$^@test', 
));

将给出:

id=dsf13f3343f23%2F23%3D&a=plop&b=%24%5E%40test

这个函数会自动处理转义和参数的拼接;-)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!