如何使值保持不變如何使用文件輸入更新圖片以添加圖片。我想要實現的是當我將該字段留空時,文件不會被更改。所以我之前上傳的照片會留在那裏。如果將值保留爲空,CodeIgniter
我的formInput被稱爲:<td><?= form_upload('aanbiedingfoto');?></td>
而且我的數據庫字段被稱爲fotonaam
。
我想這樣的事情,但它沒有工作: if($_FILES['aanbiedingfoto']['name'] != '') { $data['fotonaam'] = $_FILES['aanbiedingfoto']['name']; }
我在做什麼錯?
我的控制器:
function editaanbieding()
{
$data = array(
'Aanbieding' => $this->input->post('aanbiedingnaam'),
'Tekst' => $this->input->post('aanbiedingomschrijving'),
'Prijs' => $this->input->post('aanbiedingprijs'),
'Conditie' => $this->input->post('aanbiedingconditie')
);
if($_FILES['aanbiedingfoto']['name'] != '') { $data['fotonaam'] = $_FILES['aanbiedingfoto']['name']; }
print_r($_FILES);
$config['upload_path'] = './assets/uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000';
$config['max_width'] = '';
$config['max_height'] = '';
$config['overwrite'] = TRUE;
$config['remove_spaces'] = TRUE;
$config['file_name'] = $this->input->post('aanbiedingfoto');
$this->load->library('upload', $config);
if (! $this->upload->do_upload('aanbiedingfoto'))
{
$error = array('error' => $this->upload->display_errors());
}else{
$image_data = $this->upload->data();
}
$this->aanbieding_model->edit_aanbieding($data, $image_data);
redirect('members/aanbiedingen');
}
我的模型:
function edit_aanbieding($data, $image_data)
{
$id = $this->uri->segment(3);
$id2 = $this->input->post('fotoid');
$id3 = $this->input->post('aanbiedingid');
/*
echo 'bedrijfaanbiedingid ', $id, '<br/>';
echo 'fotoid ', $id2, '<br/>';
echo 'aanbiedingid ', $id3, '<br/>';
die;
*/
$this->db->where('idaanbiedingen', $id3);
$this->db->update('Aanbiedingen', $data);
$this->db->where('idfotoaanbiedingen', $id2);
$insertfoto = array(
'fotonaam' => $image_data['file_name']
);
$this->db->update('fotoaanbiedingen', $insertfoto);
$this->db->where('idbedrijfaanbiedingen', $id);
}
你能發佈一些更多的代碼,所以我可以得到你想要達到什麼樣的一個完整的或更好的視野?謝謝! – bottleboot
添加我的控制器和模型:) –
@KeesSonnema,看看'$ this-> aanbieding_model-> edit_aanbieding($ data,$ image_data);',如果你沒有上傳任何文件,'$ image_data'會是'NULL',你是怎麼處理這個的?它工作沒有任何錯誤? –