在codeigniter中获取文件下载链接

mar*_*ike 1 php codeigniter download href

我正在尝试在我的Web应用程序中下载一些文件.显然我把要下载的文件放在controllers文件夹里面的文件夹中,有点类似于:

controllers/upload/project_name/bc68gdas9jfeh9yfj/file.dat
Run Code Online (Sandbox Code Playgroud)

显然我想下载file.dat但我不知道在我的标签中放入什么链接.我在href中放了什么,以便下载该文件?

Nil*_*l'z 10

您不需要将可下载文件放在controllers文件夹中,而是将文件保存在项目的根目录中,但如果确实需要将文件保存在controllers文件夹中(这不是一个好选择),请尝试这个:

function your_function(){
    $this->load->helper('download');
    $data = file_get_contents(APPPATH . 'controllers/upload/project_name/bc68gdas9jfeh9yfj/'.$this->uri->segment(3)); // Read the file's contents
    $name = $this->uri->segment(3);
    force_download($name, $data);
}
Run Code Online (Sandbox Code Playgroud)

只需像这样链接文件:

<a title="Click to download" href="<?php echo base_url() ?>your_controller/your_function/<?php echo $file_name; ?>" >Download</a>
Run Code Online (Sandbox Code Playgroud)