新しいユーザーを登録するとき、ユーザーは写真をアップロードするか、デフォルトのままにしておくことができますが、CI ではファイルが選択されていない場合$this->upload->do_upload()
は false を返します。このエラーを正確に回避するにはどうすればよいですか。以下は私のやり方です:
if($this->form_validation->run()==FALSE)
{
$this->load->view('add_item_form', array('error' =>''));
}
else
{
$config['upload_path'] = 'images/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$no_photo_error = "<p>You did not select a file to upload.</p>";
if(!$this->upload->do_upload() AND $this->upload->display_errors() != $no_photo_error)
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('add_item_form', $error);
}
else
{
$data['title'] = 'Add Item';
$this->load->view('success', $data);
}
}
}