我的浏览器显示文件名为的 URL
http://www.example.com/pdf/204177_20090604_Chloorhexidine_DCB_oogdruppels_0%2C1%25.pdf
实际文件名为204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf
urldecode 后,它给出错误的文件名:
<a href="http://www.example.com/pdf/204177_20090604_Chloorhexidine_DCB_oogdruppels_0,1%.pdf" rel="noreferrer noopener nofollow">http://www.example.com/pdf/204177_20090604_Chloorhexidine_DCB_oogdruppels_0,1%.pdf</a>
更新:
一开始以为是URL Decode的问题,但是像name 204153_20090605_Aluminiumacetotartraat_DCB_oordruppels_1,2%.pdf
这样的文件在浏览器中渲染时抛出错误请求。我正在使用 Kohana 3 框架。和服务器有关系吗?
最佳答案
$url = 'http://204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf';
$encode = urlencode($url);
$decode = urldecode($encode);
echo $url."<br />";
echo $encode."<br />";
echo $decode."<br />";
// outputs
http://204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf
http%3A%2F%2F204160_20090604_Atropine_DCB_oogdruppels_0%2C5%25.pdf
http://204160_20090604_Atropine_DCB_oogdruppels_0,5%.pdf
一切都好。你的错误在其他地方。
关于php - URL 解码未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987667/