我有一个定义如下的字符串:
DEFINE('IMAGES_DIR',"/portal/images/");
在我将它放在 cookie 中后,它的内容变为
%2Fportal%2Fimages%2F
我需要返回的字符串如下:
/portal/images/
我有点结合这里提到的两个答案。
您描述的是默认行为,PHP会自动将其解码为其原始值,您无需这样做urldecode($_COOKIE['name']);
您可以使用setrawcookie()防止自动 url 编码
请注意,当您发送 cookie 时,cookie 的值部分会自动进行 urlencoded,当接收到时,它会自动解码并分配给与 cookie 名称同名的变量。如果您不想要这个,如果您使用的是 PHP 5,则可以使用 setrawcookie() 代替。
urldecode
获取 cookie 值时使用:
echo urldecode('%2Fportal%2Fimages%2F');
或者
//for cookie
echo urldecode($_COOKIE['IMAGES_DIR']);
//for your example above with the contant
echo urldecode(IMAGES_DIR);