Я давно захожу на stackoverflow.com и всегда находил решение своей проблемы.Но на этот раз все по-другому.Вот почему я публикую свой первый вопрос здесь.
Ситуация выглядит следующим образом: мой веб-сайт предоставляет обозреватель каталогов, который позволяет пользователям загружать весь каталог в виде 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, шаг за шагом, и этоКажется, что переменная в адресе отправляется правильно (я вижу правильный URL в браузере), но введите:
echo $_GET['directory_path']
в myDownloadSite.php печатает
'/c'
вместо
'/c++'
Почему протокол GET сокращает мои плюсы?