PHP rawurlencode与urlencode函数的深入分析

2015-01-24信息快讯网

本篇文章是对PHP中的rawurlencode与urlencode函数进行了详细的分析介绍,需要的朋友参考下

问题:2个函数都是针对字符串转义使其适合做文件名。该用哪个?哪个更标准?

结论:
rawurlencode遵守是94年国际标准备忘录RFC 1738,
urlencode实现的是传统做法,和上者的主要区别是对空格的转义是'+'而不是'%20'
javascript的encodeURL也是94年标准,

而javascript的escape是另一种用"%xxx"标记unicode编码的方法。

推荐在PHP中使用用rawurlencode。弃用urlencode

样例
source:

超级无敌的人sadha sajdh数据样本sdls fhejrthcxzb.file.jpeg

PHP urlencode:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha+sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls+fhejrthcxzb.file.jpeg

PHP rawurlencode:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg

Javascript encodeURI:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg

Javascript escape:
%u8D85%u7EA7%u65E0%u654C%u7684%u4EBAsadha%20sajdh%u6570%u636E%u6837%u672Csdls%20fhejrthcxzb.file.jpeg

php calender(日历)二个版本代码示例(解决2038问题)
thinkphp的CURD和查询方式介绍
解决file_get_contents无法请求https连接的方法
php使用curl发送json格式数据实例
php获取301跳转URL简单实例
Server.HTMLEncode让代码在页面里显示为源代码
wordpress自定义url参数实现路由功能的代码示例
浅析echo(),print(),print_r(),return之间的区别
PHP上传文件时文件过大$_FILES为空的解决方法
CodeIgniter生成网站sitemap地图的方法
PHP反射类ReflectionClass和ReflectionObject的使用方法
CodeIgniter使用phpcms模板引擎
CodeIgniter基本配置详细介绍
php加密解密函数authcode的用法详细解析
php数组转换js数组操作及json_encode的用法详解
php json_encode值中大括号与花括号区别
PHP json_encode中文乱码问题的解决办法
深入PHP内存相关的功能特性详解
PHP跳转页面的几种实现方法详解
深入理解curl类,可用于模拟get,post和curl下载
深入for,while,foreach遍历时间比较的详解
探讨如何使用SimpleXML函数来加载和解析XML文档
深入eAccelerator与memcached的区别详解
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
PHP CodeBase:将时间显示为"刚刚""n分钟/小时前"的方法详解
探讨file_get_contents与curl效率及稳定性的分析
PHP在线生成二维码(google api)的实现代码详解
CURL的学习和应用(附多线程实现)
基于PHP CURL获取邮箱地址的详解
解析CI即CodeIgniter框架在Nginx下的重写规则
利用PHP扩展vld查看PHP opcode操作步骤
PHP5.4中json_encode中文转码的变化小结
PHP基础教程(php入门基础教程)一些code代码
PHP gbk环境下json_dencode传送来的汉字
php中json_decode()和json_encode()的使用方法
php 的加密函数 md5,crypt,base64_encode 等使用介绍
JS中encodeURIComponent函数用php解码的代码
©2014-2024 dbsqp.com