我编写了代码以允许某人输入日期。 如果提交日期等于文件名,则codeigniter应将文件下载到桌面。 显示的代码对我有意义,但是当我运行它时,我得到'找不到文件'。 我可以在服务器上提取文件,名称与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'); } }I have code written to allow someone to enter a date. if the submit date equals the file name then codeigniter should download the file to the desktop. The code shown makes sense to me but when I run it I get 'file was not found'. I can pull the file up on the server though and the name matches what is returned in the mysql database. My end goal is to be able to download the file with the same filename as my submission_date field
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;编辑
而不是$directory尝试FCPATH指向您的Codeigniter安装目录。
$file = FCPATH . 'dir1/dir2/' . $result['submission_date'];You might be referring wrong directory or file name. Also, it seems that $file is having no extension.
$file = $directory . '/' . $result['submission_date'] . $extension;Edited
Instead of $directory try Codeigniter FCPATH which points to your Codeigniter installation directory.
$file = FCPATH . 'dir1/dir2/' . $result['submission_date'];将文件下载到桌面,其中字段名称等于codeigniter中的文件名(Download a file to the desktop where field name equals file name in codeigniter)我编写了代码以允许某人输入日期。 如果提交日期等于文件名,则codeigniter应将文件下载到桌面。 显示的代码对我有意义,但是当我运行它时,我得到'找不到文件'。 我可以在服务器上提取文件,名称与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'); } }I have code written to allow someone to enter a date. if the submit date equals the file name then codeigniter should download the file to the desktop. The code shown makes sense to me but when I run it I get 'file was not found'. I can pull the file up on the server though and the name matches what is returned in the mysql database. My end goal is to be able to download the file with the same filename as my submission_date field
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;编辑
而不是$directory尝试FCPATH指向您的Codeigniter安装目录。
$file = FCPATH . 'dir1/dir2/' . $result['submission_date'];You might be referring wrong directory or file name. Also, it seems that $file is having no extension.
$file = $directory . '/' . $result['submission_date'] . $extension;Edited
Instead of $directory try Codeigniter FCPATH which points to your Codeigniter installation directory.
$file = FCPATH . 'dir1/dir2/' . $result['submission_date'];
发布评论