Php CodeIgniter,具有图像名称的数据库

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|

我有一个工作正常的表单,但是图像总是在数据库中注册为“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|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()
,并为图像名称选择say
file\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”];}