0

我正在提供通过 PHP 下载的 PDF 文件。

碰巧下载的文件在文件开头出现空行。

我只是发现了这一点,因为用户无法在 Windows 中打开该文件。在 Linux 中,可以毫无问题地打开 PDF。

服务器中的原始PDF文件没有这个空行……微软用户可以正常打开。

这是我正在使用的 PHP 代码:

$f=fopen($filepath,'rb');
#$f=fread($f,filesize($filepath));
if($f){
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Content-Type: '.mime_content_type($filepath));
    header('Content-Length: '.filesize($filepath));
    header('Content-Disposition: attachment; filename="'.$c_file.'"');
    #fpassthru($f);
    while(!feof($f)){
        $buffer=fread($f,2048);
        print $buffer;
    }
    fclose($f);
}else die('Ops!');

这是下载的 PDF 文件的开头:

- - -

%PDF-1.4
%Çì¢
7 0 obj
<</Length 8 0 R/Filter /FlateDecode>>
- - -
4

0 回答 0