代码之家  ›  专栏  ›  技术社区  ›  F.P

正在下载PDF-无法打开

  •  1
  • F.P  · 技术社区  · 14 年前

    我允许我的用户使用以下代码下载PDF文件:

    这个 $db->Record['file'] 包含文档的相对路径。

    访问一个加载pdf的虚拟页面,因此他们实际上看不到文本.pdf“在url中。我更改了文件头以实现以下目的:

    $downloadfile = '/data/srv/www/vhosts/htdocs'.$db->Record['file'];
    $filename = basename($downloadfile);        
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename="'.$filename.'"');        
    readfile($downloadfile);
    

    下载工作没有任何问题,但当我尝试打开它时,出现以下错误:

    The PDF file could not be openend, the type is not supported or the file
    was damaged.
    

    我怎样才能解决这个问题?

    http://.../text.pdf 打开它,一切正常。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Pekka    14 年前

    (从评论中复制)我敢打赌文件中有PHP错误消息。

        2
  •  3
  •   Joel Etherton    14 年前

    php documentation ,尝试在标头中添加文件大小:

    header('Content-Length: ' . filesize($file));
    
        3
  •  0
  •   Kevin Van Dyck    6 年前

    你错过了一次吗 / 之后 htdocs