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 parse_ini_file函数的应用与扩展操作示例
-
php in_array 函数使用说明与in_array需要注意的地方说明
-
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
-
PHP var_dump遍历对象属性的函数与应用代码
-
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
-
PHP中ltrim()函数的用法与实例讲解
-
php使用ZipArchive函数实现文件的压缩与解压缩
-
php连接函数implode与分割explode的深入解析
-
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
-
解析php函数method_exists()与is_callable()的区别