0

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>>
- - -
4

0 に答える 0