簡體   English   中英

使用PHP Codeigniter無法在MySQL中上傳文件

[英]file not uploading in mysql using php codeigniter

以下是我使用codeigniter框架在mysql數據庫中上傳文件的代碼。 它存在一些我找不到的邏輯錯誤。請幫助我找到它。

function manage_prescription($param1 = '', $param2 = '', $param3 = '')
{
    if ($this->session->userdata('laboratorist_login') != 1)
        redirect(base_url() . 'index.php?login', 'refresh');

    if ($param1 == 'create_diagnosis_report') {
        $data['report_type']     = $this->input->post('report_type');
        $data['document_type']   = $this->input->post('document_type');



        move_uploaded_file($_FILES["userfile"]["tmp_name"], "uploads/diagnosis_report/" . $_FILES["userfile"]["name"]);
        $data['file_name'] = $_POST["userfile"]["name"];

        $data['prescription_id'] = $this->input->post('prescription_id');
        $data['description']     = $this->input->post('description');
        $data['timestamp']       = strtotime(date('Y-m-d') . ' ' . date('H:i:s'));
        $data['laboratorist_id'] = $this->session->userdata('laboratorist_id');

        $this->db->insert('diagnosis_report', $data);
        $this->session->set_flashdata('flash_message', get_phrase('diagnosis_report_created'));
        redirect(base_url() . 'index.php?laboratorist/manage_prescription/edit/' . $this->input->post('prescription_id'), 'refresh');
    }

    if ($param1 == 'delete_diagnosis_report') {
        $this->db->where('diagnosis_report_id', $param2);
        $this->db->delete('diagnosis_report');
        $this->session->set_flashdata('flash_message', get_phrase('diagnosis_report_deleted'));
        redirect(base_url() . 'index.php?laboratorist/manage_prescription/edit/' . $param3, 'refresh');

    } else if ($param1 == 'edit') {
        $page_data['edit_profile'] = $this->db->get_where('prescription', array(
            'prescription_id' => $param2
        ))->result_array();
    }
    $page_data['page_name']     = 'manage_prescription';
    $page_data['page_title']    = get_phrase('manage_prescription');
    $page_data['prescriptions'] = $this->db->get('prescription')->result_array();
    $this->load->view('index', $page_data);
}

當我運行此代碼時,它沒有任何錯誤。 但是,它也不會存儲文件,並且在數據庫中將file_name顯示為NULL。

試試這個,您需要使用$_FILES["userfile"]代替$_POST

$data['file_name'] = $_FILES["userfile"]["name"];

代替

$data['file_name'] = $_POST["userfile"]["name"];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM