2

私はphpを使用してpdfを表示しています

@readfile($actualfilename);
                        header('Content-type:pdf');      
                   header('Content-Disposition: inline');
                   header('Content-Transfer-Encoding: binary');
                   header('Content-Length: ' . filesize($actualfilename));
                   header('Accept-Ranges: bytes');

問題はタイトルバーにあります

タイトルバー画像

そして私が使うとき

header('Content-type:application/pdf');

ファイルをダウンロードするように求められ、使用すると同じ問題が発生します

header('Content-Disposition: inline; filename='.$fakefilename.'');

このコードは、Firefox のみで PDF ファイルを表示します。IE、chrome でファイルをダウンロードするように求められますか?

4

1 に答える 1

1

ブラウザのタイトル バーのテキスト (またはファイル名が表示されている場所) を変更しようとしていますか?

もしそうなら、あなたはここで運が悪い.ファイル名を表示する方法/場所(もしあれば)を決定するのはブラウザ次第であるため、それはうまくいかない.

mod_rewriteただし、考えられる回避策がいくつかあります。Apache 環境などのサーバー側ツールを使用しdownload/readme.pdfて、舞台裏のようなリクエストを にリダイレクトすることができますreadfile.php?file=readme.pdf。この場合、ブラウザは隠れた書き換えについて認識せず、実際にはファイル名として表示readme.pdfされます (実際のファイル名またはサーバー側のスクリプトの名前が異なっていても)。

于 2012-08-12T19:19:51.827 に答える