在Codeigniter中强制文件下载时,如何选择保存下载文件的位置?

拉美什·费尔南德斯(J Ramesh Fernandez)

现在,CSV文件将导出到报告文件夹中。相反,我希望浏览器询问将文件导出到哪里。这样我就可以将文件导出到客户端计算机的所需位置,并避免将那些文件存储在服务器(即,reports)文件夹中。

$this->load->dbutil();    
$this->load->helper('file');
$this->load->helper('download');

$selProducts= $this->db->query("SELECT * FROM tablename");
$data= $this->dbutil->csv_from_result($selProducts);
$randomidgenerated = "reports/".date('Y-m-d').".csv";

if(file_exists(FCPATH.$randomidgenerated)){
        $randomidgenerated = "reports/".date('Y-m-d')."_".random_string('alnum', 3).".csv";
    }

if ( ! write_file($randomidgenerated, $data))
{
     echo 'Unable to write the file';        
}    

$data = file_get_contents($randomidgenerated);
force_download($randomidgenerated, $data, TRUE);
王牌

从我所看到的,您正在创建要动态下载的文件的内容...现在要做的是强制浏览器将文件下载到客户端选择的部分,然后如果不这样做,则可能会删除临时文件。想要将其存储在服务器上...在创建文件或确定其存在之后添加下面的代码...之类的

$file = FCPATH.$randomidgenerated;          
if(file_exists($file)){
                header('Content-Description: File Transfer');
                header('Content-Type: text/csv');
                header('Content-Disposition: attachment; filename='.basename($file));
                header('Content-Transfer-Encoding: binary');
                header('Expires: 0');
                header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                header('Pragma: public');
                header('Content-Length: ' . filesize($file));
                ob_clean();
                flush();
                readfile($file);

                exit;
}

那应该做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Scrapinghub上运行Spider时如何保存下载的文件?

如何使用goutte从asp.net表单本地保存下载文件

如何使用JavaScript强制下载文件?

在Django中访问/下载文件时,应如何强制执行权限检查?

使用Python保存下载的CSV文件

如何从强制下载的链接中下载文件

如何下载文件?

启用Ask以使用javascript / jquery保存下载文件

用户单击时如何下载文件

使用FileSystemResource强制文件下载文件时,如何设置“ Content-Disposition”和“ Filename”?

如何从Google存储桶中强制下载文件,而不是在浏览器中打开文件?

在Flutter中将文件保存到下载文件时出错

在文件系统中创建一个随机文件夹并保存下载的文件iOS

下载文件时的下载速率?

如何强制浏览器下载文件?

使用Android中的kotlin下载文件并将其保存到下载文件夹

如何使用iOS中的React Native保存下载的文件并在File应用程序中查看?

从闪亮的应用程序下载文件时如何设置您选择的文件名

创建CSV并强制下载文件

如何快速下载文件?

如何点击下载文件

如何从gridview下载文件?

如何让人们下载文件

无法在Android 6.0 +上保存下载的文件

如何在文件生成时让用户下载文件

如何在Django webapp中通过pafy和youtube-dl强制下载文件

如何从blob下载文件并保存在python的文件夹中

如何更改Viber下载文件夹的位置

如何在Heroku上找到下载文件的位置