Heim >Backend-Entwicklung >PHP-Tutorial >So legen Sie die richtigen PHP-Header für den Download von PDF-Dateien fest: Warum schlägt der allgemeine Ansatz fehl und wie lässt sich das Problem beheben?

So legen Sie die richtigen PHP-Header für den Download von PDF-Dateien fest: Warum schlägt der allgemeine Ansatz fehl und wie lässt sich das Problem beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-11-03 03:34:02748Durchsuche

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

So legen Sie die richtigen PHP-Header für den Download von PDF-Dateien fest

Viele Benutzer stoßen auf Schwierigkeiten, wenn sie versuchen, ihre Webanwendungen so zu konfigurieren, dass sie automatisch eine öffnen PDF-Dokument, wenn auf einen Link geklickt wird. Dieser Artikel soll eine Lösung für dieses Problem bieten.

Ein gängiger Ansatz besteht darin, eine Weiterleitung zu einer bestimmten Seite zu verwenden, die die notwendigen Header generiert, um den PDF-Download zu starten. Das folgende Code-Snippet schlägt jedoch häufig fehl:

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

Um dieses Problem zu beheben, wird empfohlen, dem in Beispiel 2 auf w3schools gezeigten Ansatz zu folgen:

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

Es ist entscheidend, Denken Sie daran, dass header() vor jeder tatsächlichen Ausgabe stehen muss. In PHP-Versionen 4 und höher kann Ausgabepufferung eingesetzt werden, um diese Einschränkung zu umgehen.

Das obige ist der detaillierte Inhalt vonSo legen Sie die richtigen PHP-Header für den Download von PDF-Dateien fest: Warum schlägt der allgemeine Ansatz fehl und wie lässt sich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn