我正在提供通过 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>>
- - -