我一直在访问stackoverflow.com很长一段时间,总是找到解决方案来解决我的问题。但这一次不同。这就是为什么我在这里发布我的第一个问题。在使用GET时削减文件夹名称中的特殊字符
情况看起来像这样:我的网站提供了一个目录资源管理器,允许用户将整个目录下载为zip文件。问题是当我想要下载一个包含特殊字符的dir时,我最终会遇到错误,即'C++'。我不想强迫用户不要用这些特殊字符命名文件夹,所以我需要关于这一个的线索。我注意到整个问题归结为GET协议。我使用例如AJAX POST推出该目录的内容,但作出一个.zip文件,下载它,我需要GET:
var dir_clicked = $(e.target).attr('path'); //let's say it equals '/c++'
window.location = 'myDownloadSite.php?directory_path='+dir_clicked;
我研究了整条赛道dir_clicked变量,一步一步,它似乎是在ADRESS变量被送到正确(我看到在浏览器中正确的网址),但打字:
echo $_GET['directory_path']
在myDownloadSite.php
打印
'/c'
,而不是
'/c++'
为什么GET协议正在削减我的优势?
因为URL中的“+”被视为空格字符。 –