我面临两个问题。
- force_download((不适用于pdf扩展
当我尝试下载txt扩展文件时,功能运行良好下面的代码
public function index()
{
$data = "some text";
$name = "sample.txt";
force_download($name,$data);
}
但是当我尝试使用pdf扩展名时,文件会被正确下载,但当我单击下载的pdf文件时,它会显示错误:无法加载pdf文档
public function index()
{
$data = "some text for pdf";
$name = "sample.pdf";
force_download($name,$data);
}
- 其次,在下载文件之前,有没有一种方法可以询问或显示对话框,而不是强制下载
您不能使用force_download()
创建(而不是currupt(pdf文件。您需要使用fpdf或类似的php库来创建pdf文件。force_download()
函数仅生成一个头,强制进行下载。
如果服务器上存在pdf文件,则可以force_download('/path/to/my_pdf.pdf', NULL);
关于你问题的第二部分,这太宽泛了,有成千上万种方法可以创建一个对话框
传递要下载的文件的名称
控制器
function download($file_name)
{
$this->load->helper('download');
force_download('./assets/'.$file_name, NULL);
}
查看
<a href="<?php echo SURL.'controller_name/download/'.$file_name;?>">Download
</a>
对于第二个问题,请尝试onclick((