使用上传类在codeigniter中使用文本字段上传文件

时间:2012-08-03 07:38:19

标签: html forms codeigniter input upload

我有一个表单,其中有两种类型的fieldsmeans输入文本,收音机,选择,textarea和文件上传字段。
我使用相同的表格进行插入和编辑 我的问题是我必须上传文件并在表格中插入数据 控制器功能

function myUploadwithInsert(){

if($category    =   $this->input->post())
{
    $this->load->library('form_validation');

    if(!$this->imageUpload()){

            $error = array('error' => $this->upload->display_errors());

            $this->load->view('my_view', $error);

    }else{

        $this->form_validation->set_rules('name', 'Category Title', 'trim|required');

        if ($this->form_validation->run() == TRUE)
        {
            if ($id = $this->categories_model->create($category))
            {
                redirect('admin/categories');
            }
        }else{
            $this->load->view('my_view');
        }           
    }

    }else{

        $this->load->view('my_view');
    }    
} 

public function uploadImage()
{
    $config['upload_path']      = './uploads/';
    $config['allowed_types']    = 'gif|jpg|png|jpeg';
    $config['max_size']     = '100';
    $config['max_width']        = '1024';
    $config['max_height']       = '768';

    $this->load->library('upload', $config);        

    if ( ! $this->upload->do_upload())
    {
        return false;
    }
    else
    {
        $data = $this->upload->data();

        return $data;
    }       

} 

现在的问题是,如果上传图像并且会再次显示表单输入错误表单,用户将更正表单字段并再次填充图像字段。然后图像将再次上传 当我首先定义输入条件然后上传同样的问题时,同样的事情就会发生。我怎么能解决这个问题呢?还有其他方法可以完成这项任务。

1 个答案:

答案 0 :(得分:0)

经过一番研究后,我找到了解决方案

使用Codeigniter表单验证库

http://codeigniter.com/user_guide/libraries/form_validation.html

http://keighl.com/post/codeigniter-file-upload-validation

一篇好文章。解决我的问题