Php 上传文件Codeigniter,can';无法检测变量

Php 上传文件Codeigniter,can';无法检测变量,php,codeigniter,Php,Codeigniter,我正在尝试在Codeigniter上实现上传图像功能。但是,当我尝试将图像插入数据库时。无法检测到该变量 这是我的控制器: public function registrisi(){ //验证 $this->form_validation->set_规则('username','username','required'); $this->form_validation->set_rules('email'、'email'、'required | trim | valid|u email |是唯

我正在尝试在Codeigniter上实现上传图像功能。但是,当我尝试将图像插入数据库时。无法检测到该变量

这是我的控制器:

public function registrisi(){
//验证
$this->form_validation->set_规则('username','username','required');
$this->form_validation->set_rules('email'、'email'、'required | trim | valid|u email |是唯一的[tb_m_user.email]);
$this->form_validation->set_rules('password'、'password'、'required | trim | min|u length[3]|匹配[konfirmasi_password]);
$this->form_validation->set_rules('konfirmasi_password','Retype password','required | trim | matches[password]”);
如果($this->form\u validation->run()==false){
$this->session->set_flashdata('fail','Registration Failed!请重试');
$this->load->view('auth/registrasi');
}否则{
//插入到数据库
$username=$this->input->post('username');
$email=$this->input->post('email');
$password=password\u散列($this->input->post('password'),密码\u默认值);
$pict=$_文件['pict'];
//库上载配置
$config['upload_path']='/assets/dist/foto_validasi';
$config['allowed_types']='jpg | png';
$config['file_name']=日期('ymd');
$this->load->library('upload',$config);
如果(!$this->upload->do_upload('pict')){
echo“上传失败”;
}否则{
$pict=$this->upload->data('file_name');
}
$data=[
“用户名”=>$username,
“email”=>$email,
“密码”=>$password,
'role'=>'pengguna',
“img”=>$pict,
“status_aktivasi”=>“tidak aktif”,
'由'=>'系统'创建'u',
];
$this->m_auth->registisi($data,'tb_m_user');
$this->session->set_flashdata('success','Registration Successful!Please Login');
重定向(“身份验证/登录”);
}
}
公共函数登录(){
$this->form_validation->set_规则('email'、'email'、'required');
$this->form_validation->set_规则('password'、'password'、'required');
如果($this->form\u validation->run()==false){
$this->load->view('auth/login');
}否则{
$this->postlogin();
}

}
如果需要上传功能,可以修改如下代码:

public function registrisi(){
//验证
$this->form_validation->set_规则('username','username','required');
$this->form_validation->set_rules('email'、'email'、'required | trim | valid|u email |是唯一的[tb_m_user.email]);
$this->form_validation->set_rules('password'、'password'、'required | trim | min|u length[3]|匹配[konfirmasi_password]);
$this->form_validation->set_rules('konfirmasi_password','Retype password','required | trim | matches[password]”);
如果($this->form\u validation->run()==false){
$this->session->set_flashdata('fail','Registration Failed!请重试');
$this->load->view('auth/registrasi');
}否则{
//插入到数据库
$username=$this->input->post('username');
$email=$this->input->post('email');
$password=password\u散列($this->input->post('password'),密码\u默认值);
$pict=$_文件['pict'];
//库上载配置
$config['upload_path']='/assets/dist/foto_validasi';
$config['allowed_types']='jpg | png';
$config['file_name']=日期('ymd');
$this->load->library('upload',$config);
如果(!$this->upload->do_upload('foto')){
echo“上传失败”;
$this->session->set_flashdata('fail',$this->upload->display_errors());
重定向('auth/registrasi');
}否则{
$pict=$this->upload->data('file_name');
$data=[
“用户名”=>$username,
“email”=>$email,
“密码”=>$password,
'role'=>'pengguna',
“img”=>$pict,
“status_aktivasi”=>“tidak aktif”,
'由'=>'系统'创建'u',
];
$this->m_auth->registisi($data,'tb_m_user');
$this->session->set_flashdata('success','Registration Successful!Please Login');
重定向(“身份验证/登录”);
}
}
}
$this->upload->display_errors()
代码将在不符合要求的上传文件上显示错误消息,因此如果文件未上传,则不会保存注册数据

更改帖子字段名称,就像(!$this->upload->do_upload('pict')){


大小属性应该在输入字段中

<input type="file" size="1" class="form-control" placeholder="Upload Foto Identitas" name="pict">


错误消息显示上载失败,因此,
$pict
变量未定义。您希望上载功能是强制的还是可选的?我希望它是强制的检查您的字段名是否正确您正在name=“pict”中发布文件名并获取图像名,就像(!$this->upload->Do_upload('foto')){哦,是的,很抱歉,这是未编辑的。但是它已经在我的代码上完成了。它没有显示任何错误。它只是重定向回注册页面,没有任何以下错误。数据甚至没有进入数据库。我更新了代码,更改了
$this->load->view('auth/registrasi');
重定向('auth/registrasi'))
,这应该显示重定向后的会话上载消息是的,它起作用了!。显然我的上载路径无效。我忘了在“/”前面加上“点”。它必须是这样的。“/assets/dist/foto_validasi”
<input type="file" size="1" class="form-control" placeholder="Upload Foto Identitas" name="pict">