如何下载驻留在本地存储库中的文件

how can I download my file residing in local repository

我是 CodeIgniter 的新手,正在下载一个文件。但是,我想下载一个驻留在我本地机器上的文件,我可以通过提供路径找到该文件,该文件也以 File 类型下载,但是,我希望我的文件位于.csv 格式

这是我的控制器的下载功能:

public function download()
{   
        $state_id=$this->input->post('state'); // gets me the state-id from viw's dropdown
        $this->load->helper('download'); // Load download helper
        $file="C:\Users\usernew\Desktop\New folder\".$state_id.".csv";
        $filename=$state_id.'.csv';
        
    
        if (file_exists($file))
        {
                $data = file_get_contents($file);       //check file exists 
                force_download($fileName,$data);
            }
            else{
                echo"not working!";
            }    
        }   

我哪里错了?

你可以改用头函数force_download:

$file="C:\Users\usernew\Desktop\New folder\".$state_id.".csv";
$filename=$state_id.'.csv';

header("Content-type: text/csv");
header('Content-Disposition: attachment; filename='.$filename);
readfile( $file );

force_download()接受两个参数,即文件名和要写入该文件的数据。由于文件中已经包含一些示例数据,因此,函数如下:

 public function download()
{   
        $state_id=$this->input->post('state'); // gets me the state-id from viw's dropdown
        $this->load->helper('download'); // Load download helper
        $filename=$state_id.'.csv';
        $file="C:\Users\usernew\Desktop\New folder\".$filename;
        
        
    
        if (file_exists($file))                    //check file exists
        {
                force_download($file,NULL);      //NULL as the file already has data
            }
            else{
                echo"not working!";
            }    
        }