什么时候需要使用urlencode和urldecode函数

  1. 除了-._三个字符、大小写字母、数字,其它字符串都会被urlencode处理(虽然encode编码之后的字符串都是数字和大写字母,但是小写字母是不会被编码的)
  2. 通过浏览器在URL后面带GET参数的时候都是经过encode处理的(所以才叫urlencode的嘛)
  3. PHP在后台接收参数的时候无需经过urldecode的处理了:

    Warning: 超全局变量 $_GET 和 $_REQUEST 已经被解码了。对 $_GET 或 $_REQUEST 里的元素使用 urldecode() 将会导致不可预计和危险的结果

  4. POST传递和接受参数都不需要经过encode和decode处理,$_POST接收的参数也不会进行解码操作
  5. 在使用fsockopen等函数,通过凭借header信息字符串的方式添加进去的参数,如果经过eneode,需要自己调用urldecode方法
  6. encode之后的字符串还会可以再次被encode,%会被编码为%25,但是如果在浏览器上带上encode之后的字符串,字符串不会被再次编码
  7. PHP的urlencode函数被把空格替换成+,rawurlencode函数会空格编码成20%

猜你喜欢

转载自blog.csdn.net/l754539910/article/details/79640925
今日推荐