首页 > 解决方案 > Codeigniter force_download() 不适用于 PDF 扩展

问题描述

我面临两个问题。

  1. 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);
        }
  1. 其次,有没有办法在下载文件而不是强制下载之前询问或显示对话框。

标签: phpcodeigniter

解决方案


您不能使用force_download(). 您需要使用像fpdf或类似的 php 库来创建 pdf 文件。该force_download()函数只生成一个强制下载的标题。

如果服务器上存在pdf文件,您可以force_download('/path/to/my_pdf.pdf', NULL);

关于你问题的第二部分,这太宽泛了,有数千种方法可以创建一个对话框


推荐阅读