与其它数据笨上传图像(codeigniter upload image with other dat

2019-10-17 05:28发布

我有一个表格我提交和用户必须以这样的形式上传图片,然后提交表单作为一个整体的能力。 我发现显示上传表单笨网站的教程(仅专用上传,不是沿着其他数据)。 链接: 笨上传教程 。 我怎样才能提交表单,然后上传文件,同时还上传数据库等信息给其他表?

Answer 1:

下面是一个例子

    function add_staff(){
            $this->load->library('form_validation');
            $this->load->helper(array('form', 'url'));
            // field name, error message, validation rules
            $this->form_validation->set_rules('name', 'Full name', 'trim|required');
                            $this->form_validation->set_rules('designation', 'Last Name', 'trim|required');
            if($this->form_validation->run() == FALSE)
            {   
                $data['main_content']   =   'staff/add_staff';
                $this->load->view('admin/template',$data);
            }
            else
            {
                $config['upload_path'] = 'uploads/staff/';
                $config['allowed_types'] = 'gif|jpg|png|jpeg';


                $this->load->library('upload', $config);
                $this->upload->initialize($config);
                if ( ! $this->upload->do_upload('file'))
                {
                                            $data['error'] = array('error' => $this->upload->display_errors());

                    $new_staff = array(
                            'name' => $this->input->post('name'),
                            'designation' => $this->input->post('designation'),
                                                            'phone' => $this->input->post('phone'),
                                                            'email' => $this->input->post('email'),
                                                            'address' => $this->input->post('address'),
                                                            'description' => $this->input->post('description'),
                            'status' => $this->input->post('status')
                    );

                }
                else
                {   
                    $file_data  =   $this->upload->data('file');

                    $new_staff = array(
                            'name' => $this->input->post('name'),
                            'designation' => $this->input->post('designation'),
                                                            'phone' => $this->input->post('phone'),
                                                            'email' => $this->input->post('email'),
                                                            'address' => $this->input->post('address'),
                                                            'photo' => $file_data['file_name'],
                                                            'description' => $this->input->post('description'),
                            'status' => $this->input->post('status')
                    );

                }                   
                    if($this->staff_model->add_staff($new_staff)):
                        $this->session->set_flashdata('success', 'Staff added Sucessfully !!');
                    endif;
                    redirect('admin/staff');                        
            }

    }


Answer 2:

你可以在其他的数据传递以及与文件一起构成表单到控制器,如

<?php echo form_open_multipart('upload/do_upload');?>
    <input type="text" name="someField" value=""  />
    <input type="file" name="userfile" size="20" />
    <input type="submit" value="upload" />
</form>

上传控制器的do_upload功能:

$someField = $this->input->post("somefield"); //save to some db
//and rest of your file to be uploaded code from the same link you provided

你的意思是这样



Answer 3:

图片MOO是可以即时完成图像操作一优库....

例如,对于上传的图片大小调整到一个特定的路径,你就必须做到这一点

public function thumbnailer($uploader_response,$field_info,$files_to_upload)
{
    $this->load->library('image_moo');
$file_uploaded=$field_info->upload_path.'/'.$uploader_response[0]->name;
$thumbnails=$field_info->upload_path.'/thumbnails/'.$uploader_response[0]->name;
    $cart_thumbnails=$field_info->upload_path.'/cart_thumbnails/'.$uploader_response[0]->name;
$this->image_moo->load($file_uploaded)->resize(400,250)->save($thumbnails,false);
}

希望这可以帮助 !!



文章来源: codeigniter upload image with other data
标签: codeigniter