我正在使用CodeIgniter,我有一个使用AJAX处理上传的控制器。
控制器希望以paramalter的形式接收文件的名称,因此我需要接受URL中几乎任何可能的字符。
我的JavaScript使用encodeURI()编码文件名,因此名为“我的文件[x] .avi ”的文件变为“我的%20文件%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正在吃编码的方括号。有什么帮助吗?
提前非常感谢你。
答案 0 :(得分:1)
我认为你将$ config ['global_xss_filtering']设置为true,因此CI正在清理变量。如果是这种情况,您可以将其设置为false或调整input-> xss_clean函数。