ホームページ  >  記事  >  バックエンド開発  >  PDF ファイルのダウンロード用に正しい PHP ヘッダーを設定する方法: 一般的なアプローチが失敗する理由とその修正方法

PDF ファイルのダウンロード用に正しい PHP ヘッダーを設定する方法: 一般的なアプローチが失敗する理由とその修正方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 03:34:02707ブラウズ

How to Set the Correct PHP Headers for PDF File Download: Why Does the Common Approach Fail and How to Fix It?

PDF ファイルのダウンロード用に正しい PHP ヘッダーを設定する方法

多くのユーザーは、Web アプリケーションが自動的に開くように設定しようとすると問題に遭遇します。リンクをクリックすると PDF ドキュメントが表示されます。この記事は、この問題の解決策を提供することを目的としています。

一般的なアプローチは、PDF のダウンロードを開始するために必要なヘッダーを生成する特定のページへのリダイレクトを採用することです。ただし、次のコード スニペットは頻繁に失敗します:

<code class="php">$filename = './pdf/jobs/pdffile.pdf;
$url_download = BASE_URL . RELATIVE_PATH . $filename;
header("Content-type:application/pdf");
header("Content-Disposition:inline;filename='$filename\"");
readfile("downloaded.pdf");</code>

この問題に対処するには、w3schools の例 2 で示されているアプローチに従うことをお勧めします:

<code class="php">header("Content-type:application/pdf");

// Set the desired file name for download
header("Content-Disposition:attachment;filename=\"downloaded.pdf\"");

// Read the PDF content from its source file
readfile("original.pdf");</code>

header() は実際の出力の前になければならないことに注意してください。 PHP バージョン 4 以降では、出力バッファリングを使用してこの制限を回避できます。

以上がPDF ファイルのダウンロード用に正しい PHP ヘッダーを設定する方法: 一般的なアプローチが失敗する理由とその修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。