Я использую CodeIgniter, и у меня есть контроллер, который обрабатывает загрузки с использованием AJAX.
Контроллер ожидает получить имя файла в качестве параметра, поэтому мне нужно принять практически любой вид возможных символов в URL.
Мой JavaScript кодирует имя файла с помощью encodeURI (), поэтому файл с именем " Мой файл [x] .avi " становится " Мой% 20file% 20% 5BX% 5D.mpg ». Пока все хорошо.
Проблема возникает при получении этого параметра в CodeIgniter. URL выглядит как
http://localhost/myproject/uploader/upload/My%20file%20%5BX%5D.avi
И заголовок контроллера:
function upload($param1='') { }
Когда я печатаю $ param1, я получаю:
string(8) "My_file_"
Даже если я использую urldecode (), он остается прежним. Поэтому CodeIgniter использует закодированные квадратные скобки. Любая помощь?
Заранее большое спасибо.