如何在输入中获取图像的名称,代码点火器编辑表单

时间:2016-05-05 01:18:26

标签: forms codeigniter image-processing edit

我正在尝试编辑我已经上传的图片,因此当点击编辑时我无法在输入中获得图像的名称。这是我在控制器中的代码:

这意味着我想编辑项目的详细信息,但我不想编辑它的图像。  的控制器

//method to edit category
public function edit_menu($id) {
    if($this->isLogin()) {      
    //object/instance of menu
    $menu_list = new Menu();
    //calling method of , menu model
    $menu_list->load($id);              
    //print_r($menu_list);  

    $menu_list_array =  (array)$menu_list;      
    //object/instance of category
    $category = new Category();
    //calling method of category model      
    $category_list =  $this->Category->get();
    //creating an array to hold data
    $category_form_options = array();
    //iterate through loop
    foreach ($category_list as $id => $category) {
        $category_form_options[$id] = $category->category_name;
    }       
    //creating an array to hold data for category and menu, to pass data to view
    $data = array();
    //category key of data array to hold category details
    $data['category'] = $category_form_options[$menu_list_array['category_id']];;
    //menu key of data array to hold menu details
    $data['menu'] = $menu_list;       
    //CI built-in method to have three params, first is field id, second is human readable lable to show in case of error, rules include required, type.
    $this->form_validation->set_rules(array(
         array('field' => 'category_id','label' => 'Category', 'rules' => 'required',),
         array('field' => 'type','label' => 'Type','rules' => 'required',),
         array('field' => 'menu_name', 'label' => 'Menu Name', 'rules' => 'required',),
         array('field' => 'description','label' => 'Description','rules' => 'required',),

    ));
      if (empty($_FILES['avatar']['name'])){
      $this->form_validation->set_rules('avatar', 'Avatar', 'required');
      }
    //CI method to error delimiters, 
    //https://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#errordelimiters
    $this->form_validation->set_error_delimiters('<div class="alert alert-error">', '</div>');
    if (!$this->form_validation->run()) {

            $datas['title'] = "";
            $this->load->view('header', $datas);
                //this will load data
            $this->load->view('category_form_edit', array('category_form_options' => $category_form_options, 'data' =>$data, ));    
            $this->load->view('footer');
    }
    else {

        $config['upload_path'] = './assets/images/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg';

        $this->load->library('upload', $config);
        $this->upload->do_upload('avatar');
        $data_upload_files = $this->upload->data();

        //record from global post variable to model fields.
        $menu_data = array(); 
        $menu_data['category_id'] = $menu_list->category_id = $this->input->post('category_id');
        $menu_data['type'] = $menu_list->type = $this->input->post('type');
        $menu_data['menu_name'] = $menu_list->menu_name = $this->input->post('menu_name');
        $menu_data['description'] = $menu_list->description = $this->input->post('description');
        $menu_data['per_gram'] = $menu_list->per_gram = $this->input->post('per_gram');
        $menu_data['per_quantity'] = $menu_list->per_quantity = $this->input->post('per_quantity');
        $menu_data['per_dozen'] = $menu_list->per_dozen = $this->input->post('per_dozen');
        $menu_data['avatar'] = $menu_list->avatar = $data_upload_files['file_name'];
        $menu_data['updated_by'] = $menu_list->updated_by = $_SESSION['user_id'];
        $menu_data['updated_on'] = $menu_list->updated_on = date('Y-m-j H:i:s');
              //update model
        $id =  $menu_list_array['menu_id'];
            $where = array('menu_id' => $id); 
        $menu_list->update('menus', $menu_data, $where);

        $this->load_menu();
    }
   }
}

查看

        <?php echo form_open_multipart('', 'fscontrol/edit_menu');?>
        <!-- <form method="post"> -->
            <div class="form-group">
                <label for="category_id">Category Name</label>
                <select name="category_id" class="form-control" >
                    <?php           
                    foreach ($category_form_options as $category_id => $category_name) {
                    $selected = $data_array['category_id'] == $category_id ? 'selected' : '';
                        echo '<option ' . $selected. ' value="' . html_escape($category_id) . '">' . html_escape($category_name) . '</option>';
                    }
                    ?>

                </select>
            </div>
            <div class="form-group">
                <label for="type">Type</label>
                <input type="text" class="form-control" name="type" value="<?php echo $data_array['type']; ?>">
            </div>
            <div class="form-group">
                <label for="menu_name">Menu Name</label>
                <input type="text" class="form-control" name="menu_name" value="<?php echo $data_array['menu_name']; ?>">
            </div>
            <div class="form-group">
                <label for="description">Description</label>
                <input type="text" class="form-control" name="description" value="<?php echo $data_array['description']; ?>">
            </div>
            <div class="form-group">
                <label for="per_gram">Per gram</label>
                <input type="text" class="form-control" name="per_gram" value="<?php echo $data_array['per_gram']; ?>">
            </div>      
            <div class="form-group">
                <label for="per_quantity">Per quantity</label>
                <input type="text" class="form-control" name="per_quantity" value="<?php echo $data_array['per_quantity']; ?>">
            </div>
            <div class="form-group">
                <label for="per_dozen">Per dozen</label>
                <input type="text" class="form-control" name="per_dozen" value="<?php echo $data_array['per_dozen']; ?>">
            </div>  
            <div class="form-group">
                <label for="avatar">Photo</label>     
                <input type="file" class="form-control" name="avatar" size="20" value="<?php echo $data_array['avatar']; ?>">            
            </div>
            <div class="form-group">
                <input type="hidden" name="menu_id" value="<?php echo $data_array['menu_id']; ?>">
                <input type="submit" class="btn btn-default" value="Edit"/>
            </div>
        </form>

1 个答案:

答案 0 :(得分:-1)

如果您使用的是bootstrap模板,则无法获取图像名称。你只会看到:

  

没有选择文件

所以最好使用:

<img src="">

,并将图像显示为重击钉。