使用CI上传文件图像

时间:2012-01-04 10:24:05

标签: php codeigniter file-upload

在我看来,我使用form_open_multipart(),我有:

<input type="file" name="user_photo" style="margin-top: 5px;" />

我的控制器中有一个配置:

$config['upload_path'] = './resources/uploads/';
$config['allowed_types'] = 'jpg|gif|png|bmp|jpeg';
$config['max_size'] = '0';
$config['max_width'] = '0';
$config['max_height'] = '0';
$this->load->library('upload', $config);

if(!$this->upload->do_upload('user_photo')) {
echo $this->upload->display_errors('<p>', '</p>');
} else {
echo "<pre>"; print_r($this->upload->data());
}

但是,当我尝试使用filetype * .jpg上传图像文件时,我出现了这样的错误:The file type you are attempting to upload is not allowed.
我的配置有问题吗? 感谢。

1 个答案:

答案 0 :(得分:0)

如果您的Web服务器使用的是PHP v5.2.x并且您正在使用CodeIgniter 2.1.0,则降级回CodeIgniter 2.0.3并且上传问题应该消失。

在CodeIgniter 2.1.0中创建此问题的有罪代码行是

$this->file_type = @mime_content_type($file['tmp_name']); 
/system/libraries/Upload.php中的

。有关详细信息,请参阅CodeIgniter open issues 列表。