无法下载保存在 codeigniter 中服务器文件夹中的文件
Not able to download files kept on server folder in codeigniter
我在服务器文件夹中保存的文件很少,它们的路径存储在数据库中table hwhic 看起来像这样
Table Name: student_file
id name file
1 abc asd/fgh/abc.docx
2 def asd/fgh/def.pdf
3 ghi asd/fgh/ghi.doc
我从上面的 table(student_file) 中获取数据并以表格形式显示,其中 'download' 将是一个 link 或一个看起来像的按钮这个
abc download
def download
ghi download
现在我希望如果用户点击第一次下载,那么应该下载 abc 文件,与第二次和第三次相同。
我使用的代码正在下载文件,但是当我试图在我的系统上打开下载的文件时,它说文件没有正确下载。
查看
<a href="<?php echo base_url()?>admin/download/1">Download</a>
控制器
public function download($id)
{
$data['download'] = $this->admin_model->get_download_data($id);
}
型号
public function get_download_data($id)
{
$this->db->where('id',$id);
$data = $this->db->get('student_file');
$student_data = $data->row();
$student_file = $student_data->file;
$ext = substr($student_file, strpos($student_file, ".") + 1);
$path = 'www.xyz.com/';
$file = $path . $student_file;
header("Content-type:application.$ext");
header("Content-Disposition:attachment;filename='downloaded.$ext");
readfile($file);
}
谁能告诉我如何使用 codeigniter 正确下载这些文件
使用 ip 地址或域名定位文件不起作用。您应该使用某种方式来访问具有本地服务器路径的文件。尝试 $path = $this->input->server('DOCUMENT_ROOT');
而不是 $path = 'www.xyz.com/';
我想你可以很容易地做到这一点,
<a href="<?php echo base_url(); ?>path/to/file/abc.docx" target="_blank" ></a>
<a href="<?php echo base_url(); ?>path/to/file/def.pdf" target="_blank" ></a>
<a href="<?php echo base_url(); ?>path/to/file/ghi.docx" target="_blank" ></a>
我在服务器文件夹中保存的文件很少,它们的路径存储在数据库中table hwhic 看起来像这样
Table Name: student_file
id name file
1 abc asd/fgh/abc.docx
2 def asd/fgh/def.pdf
3 ghi asd/fgh/ghi.doc
我从上面的 table(student_file) 中获取数据并以表格形式显示,其中 'download' 将是一个 link 或一个看起来像的按钮这个
abc download
def download
ghi download
现在我希望如果用户点击第一次下载,那么应该下载 abc 文件,与第二次和第三次相同。
我使用的代码正在下载文件,但是当我试图在我的系统上打开下载的文件时,它说文件没有正确下载。
查看
<a href="<?php echo base_url()?>admin/download/1">Download</a>
控制器
public function download($id)
{
$data['download'] = $this->admin_model->get_download_data($id);
}
型号
public function get_download_data($id)
{
$this->db->where('id',$id);
$data = $this->db->get('student_file');
$student_data = $data->row();
$student_file = $student_data->file;
$ext = substr($student_file, strpos($student_file, ".") + 1);
$path = 'www.xyz.com/';
$file = $path . $student_file;
header("Content-type:application.$ext");
header("Content-Disposition:attachment;filename='downloaded.$ext");
readfile($file);
}
谁能告诉我如何使用 codeigniter 正确下载这些文件
使用 ip 地址或域名定位文件不起作用。您应该使用某种方式来访问具有本地服务器路径的文件。尝试 $path = $this->input->server('DOCUMENT_ROOT');
而不是 $path = 'www.xyz.com/';
我想你可以很容易地做到这一点,
<a href="<?php echo base_url(); ?>path/to/file/abc.docx" target="_blank" ></a>
<a href="<?php echo base_url(); ?>path/to/file/def.pdf" target="_blank" ></a>
<a href="<?php echo base_url(); ?>path/to/file/ghi.docx" target="_blank" ></a>