PHP経由でダウンロードするPDFファイルを提供しています。
ダウンロードしたファイルの先頭に空の行が表示されることがあります。
ユーザーが Windows でファイルを開くことができなかったため、これを発見しただけです。Linux では、問題なく PDF を開くことができます。
サーバー内の元の PDF ファイルにはこの空の行がなく、Microsoft ユーザーは通常どおり開くことができます。
これは私が使用している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>>
- - -