Wie kann man verhindern, dass eine mit FPDF erstellte PDF-Datei in PHP aus dem Cache geöffnet wird?

Antwort

Das Problem, dass eine mit FPDF erstellte PDF-Datei im Browser aus dem Cache geladen wird, liegt meist daran, dass der Browser die Datei nicht als „neu“ erkennt und daher eine ältere Version aus dem Cache anzeigt. Um dieses Verhalten zu verhindern, solltest du HTTP-Header setzen, die das Caching unterbinden. Füge vor der Ausgabe der PDF-Datei mit FPDF folgende Header in deinem PHP-Skript ein: ```php header('Content-Type: application/pdf'); header('Content-Disposition: inline; filename="deine_datei.pdf"'); header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); header('Pragma: no-cache'); header('Expires: 0'); ``` **Wichtige Hinweise:** - Die Header müssen vor jeglicher Ausgabe (auch vor Leerzeilen oder HTML) gesendet werden. - `Cache-Control` und `Pragma` sorgen dafür, dass der Browser die Datei nicht cached. - `Expires: 0` gibt an, dass die Datei sofort abläuft. **Beispiel:** ```php require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hallo Welt!'); header('Content-Type: application/pdf'); header('Content-Disposition: inline; filename="beispiel.pdf"'); header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0'); header('Pragma: no-cache'); header('Expires: 0'); $pdf->Output('I', 'beispiel.pdf'); ``` Damit wird immer die aktuelle Version der PDF-Datei angezeigt und nicht eine gecachte Version. Weitere Infos zu FPDF: [http://www.fpdf.org/](http://www.fpdf.org/)

Kategorie: Programmierung Tags: FPDF PHP Cache
KI fragen

Verwandte Fragen

Gibt es für FPDF eine Möglichkeit, das Caching der generierten PDF-Datei zu verhindern?

Mit FPDF selbst kannst du nicht direkt steuern, wie der Browser mit dem Cache der erzeugten PDF-Datei umgeht, da FPDF nur für die PDF-Erstellung in PHP zuständig ist. Das Caching-Verhalten w... [mehr]

Was gibt sprintf('%d', '1.6') in PHP aus?

`sprintf('%d', '1.6')` gibt in PHP den Wert `1` aus. Begründung: Das Format `%d` erwartet einen Integer-Wert. Wenn ein String wie `'1.6'` übergeben wird, wan... [mehr]

Wie gebe ich ein Array in PHP 8 per Schleife aus?

Um einen Array in PHP 8 in einer Schleife anzuzeigen, kannst du zum Beispiel eine foreach-Schleife verwenden. Hier ein einfaches Beispiel: ```php <?php $fruits = ["Apfel", "Banane&q... [mehr]

Wie stelle ich mit PHP 8 eine ODBC-Verbindung zu SQL Server mit Windows-Authentifizierung her?

Um mit PHP 8 eine ODBC-Verbindung zu einem Microsoft SQL Server unter Verwendung der Windows-Authentifizierung herzustellen, gehst du wie folgt vor: ### Voraussetzungen 1. **ODBC-Treiber für SQ... [mehr]

Wie kann ich mit PHP 8 eine Datei außerhalb des Webverzeichnisses einfügen?

Um mit PHP 8 eine Datei von außerhalb des Webverzeichnisses einzufügen, kannst du die Funktionen `require`, `require_once`, `include` oder `include_once` verwenden. Wichtig ist dabei, den *... [mehr]

Wie setze ich unter Windows ein Passwort als Umgebungsvariable und lese es mit PHP8 aus?

Um ein Passwort als Umgebungsvariable in Windows zu setzen und es anschließend mit PHP 8 auszulesen, gehst du wie folgt vor: **1. Umgebungsvariable in Windows setzen** - Öffne die Eingabe... [mehr]

Wie addiere ich zwei Zeitangaben in PHP8, z.B. 02:45 und 04:30?

Um zwei Zeitangaben im Format „Stunden:Minuten“ in PHP 8 zu addieren, kannst du die DateTime- und DateInterval-Klassen verwenden. Hier ein Beispiel: ```php $time1 = '02:45'; $ti... [mehr]

Wie erstelle ich eine eigene Datenbank mit PHP und SQL?

Um eine eigene Datenbank mit PHP und SQL zu erstellen, benötigst du folgende Schritte: 1. **Datenbank-Server installieren** Installiere einen Datenbank-Server wie [MySQL](https://www.mysql.... [mehr]

Wie programmiere ich ein Fußball-Tippspiel mit PHP und SQL-Datenbank?

Um ein Fußball-Tippspiel mit PHP und einer SQL-Datenbank (z. B. MySQL) zu programmieren, sind mehrere Schritte notwendig. Hier findest du eine grundlegende Anleitung, wie du vorgehen kannst: **... [mehr]

Was ist der Unterschied zwischen den PHP-Funktionen ceil und round?

Die PHP-Funktionen **ceil()** und **round()** dienen beide dazu, Fließkommazahlen (Kommazahlen) auf Ganzzahlen zu runden, sie unterscheiden sich jedoch im Verhalten: - **ceil()** (von „ce... [mehr]