将文件下载到桌面,其中字段名称等于 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'];
我编写了允许某人输入日期的代码。如果提交日期等于文件名,则 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'];