CI的文件上传类的bug
这是原文件567-573行if (in_array($val, $image_types))
{
if (getimagesize($this->file_temp) === FALSE)
{
return FALSE;
}
}
看注释说是检查图片,实际上你设置允许的文件类型中还有其他类型的,比如pdf,txt 等,
这个验证就不行了,原因是只要不是指定的图片类型的都会返回false
所以就不能上传其他类型的文件
修改方法
将567行:
改为:in_array($val, $image_types)&&$this->is_image()即可 不能上传其他类型,不是这里造成的吧?有待大家验证。 这里确实是这样的哦,昨天我才发现,后来去官网看了下,确实有这个bug
很显然那里检查图片类型的时候前提条件是要满足必须是图片 还有那个分页类的 bug,
如果当前url是:http://localhost/blog/see/1
如果我在IE里面这样敲:http://localhost/blog/see/1.html,会真么样那? 如果设置过 URL 后缀,CI 会自动处理的。 可以上传PDF,TXT方法是要把这样的格式放在GIF,JPG前面.如$config['allowed_types']='zip|txt|pdf|doc|gif|jpg|png';具体为什么要这样没看懂:dizzy:. $config['allowed_types']='zip|txt|pdf|doc|gif|jpg|png'; 这样写是可以,只是调换了顺序而已,当然不是解决问题的根本办法,仔细想想那个文件的流程,你就可以明白了 我把其它允许的文件类型放在前面了,但还是无法上传. 无法上传请看 http://codeigniter.org.cn/forums/thread-442-1-1.html 确实有这个问题额。
上传不了txt的后缀类型的,MIME文件里已经有这个了,可能真的是BUG吧。
页:
[1]