我写了一个PHP脚本,它扫描目录中的pdf文件,然后创建一个HTML页面,其中包含这些文件的列表及其相关链接。该文件的名称将用于列表项。
如何确保特殊字符与URL之间的良好兼容性?
例如,我有一个包含text 49% text.pdf
的文件,服务器正在响应网址http://localhost/folder/text%2049%%20text.pdf
并出现Bad Request
错误。
我尝试使用urlencode()
但没有成功。我怎样才能改进我的剧本?
更新
urlencode()
返回给我<a href="text+49%25+text.pdf">text 49% text.pdf</a>
,由此我得到Bad Request
错误。
答案 0 :(得分:1)
您必须使用rawurlencode()
。这会将%转换为%25,将空格转换为%20
答案 1 :(得分:0)
text%2049%%20text.pdf
给你一个Bad Request
是正确的。
因为49%
应编码为49%25
。
结果链接应如下所示:
<a href="text%2049%25%20text.pdf"> text 49% text.pdf</a>
我毫无问题地使用urlencode()
。
很抱歉没有发表评论,没有足够的意见。