用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4649|回复: 9
收起左侧

[讨论/交流] CI的文件上传类的bug

[复制链接]
发表于 2009-6-29 16:25:02 | 显示全部楼层 |阅读模式
这是原文件567-573行

PHP复制代码
 
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()即可
发表于 2009-6-29 16:47:45 | 显示全部楼层
不能上传其他类型,不是这里造成的吧?有待大家验证。
 楼主| 发表于 2009-6-29 17:17:36 | 显示全部楼层
这里确实是这样的哦,昨天我才发现,后来去官网看了下,确实有这个bug

很显然那里检查图片类型的时候前提条件是要满足必须是图片
 楼主| 发表于 2009-6-29 17:22:16 | 显示全部楼层
还有那个分页类的 bug,
如果当前url是:http://localhost/blog/see/1
如果我在IE里面这样敲:http://localhost/blog/see/1.html,会真么样那?
发表于 2009-6-29 18:58:45 | 显示全部楼层
如果设置过 URL 后缀,CI 会自动处理的。
发表于 2009-6-30 14:47:27 | 显示全部楼层
可以上传PDF,TXT方法是要把这样的格式放在GIF,JPG前面.如$config['allowed_types']='zip|txt|pdf|doc|gif|jpg|png';具体为什么要这样没看懂.
 楼主| 发表于 2009-6-30 16:16:52 | 显示全部楼层
$config['allowed_types']='zip|txt|pdf|doc|gif|jpg|png'; 这样写是可以,只是调换了顺序而已,当然不是解决问题的根本办法,仔细想想那个文件的流程,你就可以明白了
发表于 2009-7-2 09:08:28 | 显示全部楼层
我把其它允许的文件类型放在前面了,但还是无法上传.
发表于 2009-7-2 10:08:29 | 显示全部楼层
发表于 2012-4-7 16:00:00 | 显示全部楼层
确实有这个问题额。
上传不了txt的后缀类型的,MIME文件里已经有这个了,可能真的是BUG吧。

本版积分规则