链接到pdf中的强制下载脚本

ws0*_*0x9 1 php pdf internet-explorer-8 internet-explorer-7 internet-explorer-6

我正在使用PHP生成动态PDF报告,并且在链接到Web时遇到了一些问题.

我的链接是一个强制下载文件附件的PHP脚本.当通过浏览器访问时,此脚本可在所有浏览器中完美运行.它也可以在除Internet Explorer之外的所有浏览器中使用PDF.

而不是IE将文件视为PDF,PNG或任何文件,下载提示说文档类型是:"HTML插件文档"

如果用户单击"打开"或"保存",IE表示无法下载文件并将文件名设为"index2.php".这是地址URI的开头.

给出了正确的文件大小,所以我知道它正在获取文件.也许这是一个标题问题?

这是我在下载脚本上创建的标题:

            header("Expires: Mon, 26 Jul 1997 05:00:00 GMT;");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT;");
    header("Pragma: no-cache;");        // HTTP/1.0
    header('Content-Type: '.$file->file_mime_type.';');
    header("Content-Description: File Transfer");
    header("Cache-Control: public");
            header('Content-Disposition: attachment; filename="'.$file->file_name.'";');
    header('Content-Length: '.$file->file_size.';');
    header('Content-transfer-encoding: binary');
Run Code Online (Sandbox Code Playgroud)

任何投入将不胜感激.

Sco*_*son 5

你试过这样的事吗?

header('Content-Disposition: attachment; filename="'.$file->filename.'"');
Run Code Online (Sandbox Code Playgroud)


san*_*mai 5

这是我使用的,并证明有效:

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="'.$file->file_name.'"');
readfile($filename);
Run Code Online (Sandbox Code Playgroud)