我不想强迫我的网络管理员在通过仪表板添加产品时上传图像,但如果他/她上传,那么我想检查允许的文件类型,如果不允许,我想在codeigniter中抛出错误消息。 这是我根据codeigniter的用户指南做的:
$config['upload_path'] = './content/uploads/images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '2000';
$config['max_width'] = '2000';
$config['max_height'] = '2000';
$this->form_validation->set_rules('pName', 'Name', 'required|xss_clean|max_length[200]');
$this->form_validation->set_rules('pPrice', 'Price', 'required|xss_clean|max_length[200]');
if (($this->form_validation->run() == FALSE) || (!$this->upload->do_upload())) {
$data['error'] = $this->upload->display_errors();
$this->load->view('product/addProduct', $data);
} else {
//if valid
if ($this->upload->do_upload('myfile')) {
$data = array('upload_data' => $this->upload->data('myfile'));
$productImg = $data['upload_data']['file_name'];
但这种方法迫使我上传图片,我想要可选的。那么有没有任何方法/功能或方法可以检查上传的文件是否为上传时允许的格式,如果没有上传,则保持未选中状态。
提前致谢