According to doc
force_download([$filename = ''[, $data = ''[, $set_mime = FALSE]]])
参数:
- $文件名(字符串)
- $data(混合)
- $set_mime (bool) – 是否尝试发送实际的 MIME 类型
返回类型:
无效
生成强制将数据下载到桌面的服务器标头。对文件下载很有用。第一个参数是你希望下载的文件命名的名称,第二个参数是文件数据。
如果您将第二个参数设置为 NULL 并且 $filename 是现有的可读文件路径,则将改为读取其内容。
如果您将第三个参数设置为布尔值 TRUE,则将发送实际的文件 MIME 类型(基于文件扩展名),因此如果您的浏览器具有该类型的处理程序 - 它可以使用它。
一般用法
$this->load->helper('download');
force_download('/path/to/pdf.pdf', NULL);
案例特定用法 - 放置在控制器中
function file_download()
{
$file_name= $this->input->get('file_name');
$this->load->helper('download');
$data = file_get_contents($file_name);
$name = 'My_new_name.pdf'; // custom file name for your download
force_download($name, $data);
//force_download($file_name, NULL); will get the file name for you
}
HTML
假设您有这样的链接供您下载
<a class="downloadable" href="/Resumes/Resumes1271354404687.pdf">
/Resumes/Resumes1271354404687.pdf
</a>
Javascript
$(function(){
$('.downloadable').click(function(){
window.location.href = "<?php echo site_url('CONTROLLER_NAME/file_download') ?>?file_name="+ $(this).attr('href');
});
});