Php CodeIgniter,具有图像名称的数据库
我有一个工作正常的表单,但是图像总是在数据库中注册为“1”。实际上,图像数据库“image\u name.jpg”或“image\u name.png”应该与一起保存 我哪里出错了? 这是我的控制器Php CodeIgniter,具有图像名称的数据库,php,database,forms,codeigniter,upload,Php,Database,Forms,Codeigniter,Upload,我有一个工作正常的表单,但是图像总是在数据库中注册为“1”。实际上,图像数据库“image\u name.jpg”或“image\u name.png”应该与一起保存 我哪里出错了? 这是我的控制器 public function send_Basvur_message(){ $config['upload_path'] = './panel/uploads/basvur_v/'; $config['allowed_types'] = 'jpg|
public function send_Basvur_message(){
$config['upload_path'] = './panel/uploads/basvur_v/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = 4096;
$config['overwrite'] = false;
$config['encrypt_name'] = false;
$config['remove_space'] = true;
$this->load->library('upload', $config);
$this->upload->initialize($config);
$this->load->library("form_validation");
$this->load->model("Basvur_model");
$this->form_validation->set_rules("name", "Ad", "trim|required");
$this->form_validation->set_rules("email", "E-posta", "trim|required|valid_email");
$this->form_validation->set_rules("subject", "Konu", "trim|required");
$this->form_validation->set_rules("message", "Mesaj", "trim|required");
$this->form_validation->set_rules("img_url", "img_url");
$this->form_validation->set_rules("captcha", "Doğrulama Kodu", "trim|required");
if($this->form_validation->run() === FALSE) {
// TODO Alert...
$this->session->set_flashdata('info','Action Completed');
redirect(base_url("basvuru"));
} else {
$insert = $this->Basvur_model->add(
array(
"name" => $this->input->post("name"),
"email" => $this->input->post("email"),
"message" => $this->input->post("message"),
"subject" => $this->input->post("subject"),
"img_url" => $this->upload->do_upload("img_url"),
"created_at" => date("Y-m-d H:i:s")
)
);
if($this->session->userdata("captcha") == $this->input->post("captcha")){
$name = $this->input->post("name");
$email = $this->input->post("email");
$subject = $this->input->post("subject");
$message = $this->input->post("message");
$img_url = $this->input->post("img_url");
$email_message = "{$name} isimli ziyaretçi. Başvuru Yaptı <br><b>Mesaj : </b> {$message} <br> <b>E-posta : </b> {$email}";
if(send_email("", "Yeni Aday başvurusu | $subject", $email_message)){
$this->session->set_flashdata('success','Action Completed');
redirect(base_url("basvuru"));
// TODO Alert..
} else {
$this->session->set_flashdata('success','Action Completed');
redirect(base_url("basvuru"));
// TODO Alert..
}
} else {
//başarısıs
$this->session->set_flashdata('error','Action Not Completed');
redirect(base_url("basvuru"));
}
}
}
public函数发送\u Basvur\u消息(){
$config['upload_path']='。/panel/uploads/basvur_v/;
$config['allowed_types']='jpg | png';
$config['max_size']=4096;
$config['overwrite']=false;
$config['encrypt_name']=false;
$config['remove_space']=true;
$this->load->library('upload',$config);
$this->upload->initialize($config);
$this->load->library(“表单验证”);
$this->load->model(“Basvur_model”);
$this->form|u validation->set|u规则(“名称”、“广告”、“修剪|必需”);
$this->form|u validation->set|u规则(“email”、“E-posta”、“trim | required | valid|u email”);
$this->form|u validation->set|u规则(“主题”、“科努”、“修剪(必需)”);
$this->form_validation->set_规则(“message”、“Mesaj”、“trim | required”);
$this->form_validation->set_规则(“img_url”、“img_url”);
$this->form|u validation->set|u rules(“验证码”、“Doğrulama Kodu”、“需要修剪”);
如果($this->form\u validation->run()==FALSE){
//待办事项警报。。。
$this->session->set_flashdata('info','Action Completed');
重定向(基本url(“BASVUR”);
}否则{
$insert=$this->Basvur\u模型->添加(
排列(
“name”=>this->input->post(“name”),
“email”=>this->input->post(“email”),
“消息”=>this->input->post(“消息”),
“主题”=>this->input->post(“主题”),
“img_url”=>this->upload->do_upload(“img_url”),
“创建时间”=>日期(“Y-m-d H:i:s”)
)
);
如果($this->session->userdata(“captcha”)==$this->input->post(“captcha”)){
$name=$this->input->post(“name”);
$email=$this->input->post(“电子邮件”);
$subject=$this->input->post(“主题”);
$message=$this->input->post(“消息”);
$img_url=$this->input->post(“img_url”);
$email_message=“{$name}isimli ziyaretçi.Başvuru Yaptı
Mesaj:{$message}
电子邮递:{$email}”;
如果(发送电子邮件(“,”Yeni Aday başvurusu |$subject“,$email|u message)){
$this->session->set_flashdata('success','Action Completed');
重定向(基本url(“BASVUR”);
//待办事项警报。。
}否则{
$this->session->set_flashdata('success','Action Completed');
重定向(基本url(“BASVUR”);
//待办事项警报。。
}
}否则{
//巴亚尔斯
$this->session->set_flashdata('error','Action Not Completed');
重定向(基本url(“BASVUR”);
}
}
}
您保存的是do\u upload()
响应,而不是文件名
你能做的就是如下所示
$image_url = null;
if($this->upload->do_upload("img_url")){
$image_url = $_FILES["fileToUpload"]["name"];
}
$insert = $this->Basvur_model->add(
array(
"name" => $this->input->post("name"),
"email" => $this->input->post("email"),
"message" => $this->input->post("message"),
"subject" => $this->input->post("subject"),
"img_url" => $image_url,
"created_at" => date("Y-m-d H:i:s")
)
);
如果
$this->upload->do\u upload()
成功保存图像名称,除非它将保存null$this->upload->do\u upload()
返回bool因此1存储在db中,您要调用它,然后使用$this->upload->data()
,并为图像名称选择sayfile\u name
,而不是可能更改的路径,rtm:I didn,但我不知道在哪里写代码。字段的类型是什么?img_url=varchar(255)utf8_general_cit“null”值来自。默认情况下,我给它一个null值,表示空。您可以给它任何值或将其保留为空,如$image_url=“”
那么我应该给出什么值,让图像名称在数据库中注册。@RasimAtaman在$image\u url=$\u FILES[“fileToUpload”][“name”]中用文件输入字段的名称替换fileToUpload
代码>谢谢你的回答,我不想再打扰你了,但事实并非如此。$image\u url=NULL;如果($this->upload->do_upload(“img_url”){$image_url=$_文件[“upload_path”][“name”];}