上传名称中包含单引号的文件时,文件数组未设置

时间:2016-02-18 03:40:14

标签: php codeigniter file-upload

我正在使用CodeIgniter框架构建Web应用程序。问题是,在文件名中上传文件名为'的文件时(例如:Rob's.wmv),我在控制器中得到一个空文件数组。 CI确实具有在名称包含特殊字符时更新文件名的代码,但由于未正确设置数组,因此不会进行上载。我无法理解发生了什么,我尝试调试,看起来上传在我的本地机器上工作正常,但在服务器上没有,这使它更有趣。

UPDATE 文件数组var_dump返回一个空数组,所以我甚至无法在脚本中获取文件名。 文件数组未设置,我根本无法获得有关该文件的任何信息。

1 个答案:

答案 0 :(得分:0)

你必须使用php的addslashes()addslashes()函数返回一个在预定义字符前面带有反斜杠的字符串。

示例:

$var = "Rob's.wmv"; 
//then 
$var = addslashes($var);

预定义字符为:

single quote (')
double quote (")
backslash (\)
NULL

提示:此函数可用于准备字符串以存储在数据库和数据库查询中。

升级问题时

请仔细阅读这两篇文章,这只是一个配置问题。在那之后,我认为你能够做到。

codeigniter-file-upload

how-to-upload-file-in-codeigniter

相关问题