我在使用这个基于 CI 文档中的示例的简单 Codeigniter 图像上传时遇到了问题。
出了什么问题:
1.) 如果上传的文件类型不正确,它不会返回错误。它将我所有的 post 变量设置为 null 并继续处理。
2.) 我能够上传 .sql 和一些(但不是全部).exe 文件,即使允许的文件类型仅限于 jpg、gif 和 png。
因此,拒绝允许的文件类型并不是常见的问题,而是过于宽容,并且没有在应该返回错误时返回。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
$photo = $this -> input -> post ( “photo” ) ;
$config [ ‘upload_path’ ] = ‘./profile_img/’ ; $this -> load -> library ( ‘upload’ , $config ) ; if ( isset ( $_FILES [ ‘userfile’ ] ) && $_FILES [ ‘userfile’ ] [ ‘size’ ] > 0 ) { $data = array ( $this -> user_model -> update ( $data , $this -> ion_auth -> get_user_id ( ) ) ; |
- 首先删除 if 条件然后尝试
奇怪的是,解决方案是在错误条件下的第一次重定向之后插入 exit()。
显然,这种行为是这样的,即使发现错误条件,重定向也会被忽略,并且脚本的其余部分会被执行。显然是 CI 中的一个令人费解且难以找到的错误。

评论(0)