我正在尝试编辑我已经上传的图片,因此当点击编辑时我无法在输入中获得图像的名称。这是我在控制器中的代码:
这意味着我想编辑项目的详细信息,但我不想编辑它的图像。 的控制器
//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>
答案 0 :(得分:-1)
如果您使用的是bootstrap模板,则无法获取图像名称。你只会看到:
没有选择文件
所以最好使用:
<img src="">
,并将图像显示为重击钉。