将文件下载到桌面,其中字段名称等于 codeigniter 中的文件名

Download a file to the desktop where field name equals file name in codeigniter

我编写了允许某人输入日期的代码。如果提交日期等于文件名,则 codeigniter 应将文件下载到桌面。显示的代码对我来说很有意义,但是当我 运行 它时,我得到 'file was not found'。不过,我可以在服务器上提取文件,并且名称与 mysql 数据库中返回的名称相匹配。我的最终目标是能够下载与我的 submission_date 字段

具有相同文件名的文件
if($this->input->post('submit')) {
        $trlr_num = $this->input->post('trlr_num');
    } elseif($this->uri->segment(4)) {
        $trlr_num = $this->uri->segment(4);
    }

    if( !empty($trlr_num)) {
        $query = $this->trailer_model->select_trailer_draw($trlr_num);
        $result =& $query->row_array();

        if( !empty($result)) {
            // Get filepath to bill
            $directory = 'http://intranet.gmwdc.com/inc/img/inspection/upload';
            $file = $directory.'/'.$result['submission_date'];

            $this->load->helper('download');


            if(file_exists($file)) {
                $data = file_get_contents($file);
                force_download($result['submission_date'],$data);
            } else {
                $this->session->set_status_data('error','File was not found.');
            }

            return;
        } else {
            $this->session->set_userdata('error','No Inspection Draw Found');
        }
    }

您可能引用了错误的目录或文件名。此外,$file 似乎没有扩展名。

 $file = $directory . '/' . $result['submission_date'] . $extension;

已编辑

尝试使用指向您的 Codeigniter 安装目录的 Codeigniter FCPATH 而不是 $directory

$file = FCPATH . 'dir1/dir2/' . $result['submission_date'];