CodeIgniter и параметры в квадратных скобках - PullRequest
0 голосов
/ 15 февраля 2011

Я использую 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 использует закодированные квадратные скобки. Любая помощь?

Заранее большое спасибо.

1 Ответ

1 голос
/ 15 февраля 2011

Я думаю, у вас есть $ config ['global_xss_filtering'], установленный в true, и поэтому CI очищает переменные. Если это так, вы можете установить его в false или настроить функцию input-> xss_clean.

...