Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datei nach aufruf löschen.

Empfohlene Antworten

Veröffentlicht

Hallo,

Ich erstelle bei mir ein PDF, anschließend wird es mit einem redirect aufgerufen.

Da alle Kunden die auf dieser Seite sind ein solches PDF generieren können, wäre es gut wenn sich nach dem öffnen der Datei dieses PDF wider löscht, da ich dem Server sonst nur Speicher nehme.

Hier einmal ein kleiner Ausschnitt den Quelltextes:

$pdf=new HTML2FPDF();

$pdf->AddPage();

$pdf->Image(SHOP_URL."images/logo.jpg",5,5,$w=200,$h=30);

$pdf->Ln($h=10);

$pdf->WriteHTML($text1);

$pdf->Output($name = "test.pdf");

redirect($name);

Ich würd es mal so versuchen:



$pdf=new HTML2FPDF();
$pdf->AddPage();
$pdf->Image(SHOP_URL."images/logo.jpg",5,5,$w=200,$h=30);
$pdf->Ln($h=10);
$pdf->WriteHTML($text1);
header("Content-Type : application/pdf");
$pdf->Output();
[/php]

Unter Umständen noch ein

header("Content-Disposition: attachment; filename=".$filename.".pdf");

dazu, aber der Name wird ja von fpdf schon auf doc.pdf gesetzt, wenn für die Methode Output kein Parameter angegeben wird.

Da ich das noch nie benutzt habe könnte u.U. auch der content-Type header zuviel sein.

EDIT:

Der einfachste Weg eine Datei zu löschen ist sie gar nicht erst anzulegen :D

EDIT2:

steht doch alles da:

I: Sendet das Dokument als Datei an den Client (Browser). Sofern auf dem Client vorhanden, wird das PDF Dokument durch das Adobe Acrobat Reader Plugin des Browsers angezeigt. Der Name wird als Dateiname für den "Speichern unter" Dialog des Browser verwendet, sofern das Plugin nicht vorhanden ist bzw. explizit das Speichern der Datei angefordert wurde.

[/Quote]

also:

[php]
$pdf->Output($name, "I");

Jo ich weiss aber irgendwie klappt das net bei mir der gibt mir dann ganz viele fehlermeldungen:

Notice: Undefined index: WIDTH in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 720

Notice: Undefined index: ALIGN in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 721

Notice: Undefined index: COLOR in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 722

Notice: Undefined index: WIDTH in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 720

Notice: Undefined index: ALIGN in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 721

Notice: Undefined index: COLOR in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 722

Notice: Undefined index: nc in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 1340

Notice: Undefined index: nr in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 1341

Notice: Undefined index: nc in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2508

Notice: Undefined index: nr in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2509

Notice: Undefined index: nc in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2612

Notice: Undefined index: nc in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2672

Notice: Undefined index: nr in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2673

Notice: Undefined index: nc in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2816

Notice: Undefined index: nr in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 2817

Notice: Undefined index: WIDTH in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 720

Notice: Undefined index: ALIGN in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 721

Notice: Undefined index: COLOR in C:\Programme\Apache2\htdocs\m-eshop\third-party\fpdf\html2fpdf.php on line 722

Jo ich weiss aber irgendwie klappt das net bei mir der gibt mir dann ganz viele fehlermeldungen:

Notice: ...

Wie es da steht, das ist keine Fehlermeldung sondern ein Hinweis. Da PHP keine strenge Typisierung hat und Variablen einfach so irgendwo benutzt (und damit dann deklariert) werden können kann es auch zu solchen Situationen kommen. Dass du auf eine Variable zugreifst, die gar nicht existiert. Das muss nicht immer zu einem Fehler kommen.

error_reporting(0); schaltet alle Meldungen ab (für Produktivumgebungen empfohlen).

error_reporting(E_ALL ^ E_NOTICE); schaltet z.B. die Hinweise ab.

siehe:

PHP: error_reporting - Manual

Dass das bei dir ein Fehler ist, liegt daran, dass dein Dokument nur das PDF ausgeben soll. Da aber die Hinweismeldungen ausgegeben werden, ist das PDF fehlerhaft und Header können nicht mehr nach einer erfolgten Ausgabe gesendet werden.

jojo hab ich mir auch schon gedacht, aber dann bekomme ich eine leere Seite und eine Fehlermeldung vom Acrobat reader:

Beim öffnen dieses Dokuments ist ein Fehler aufgetreten.

Diese Datei ist Beschädigt und kann nicht repariert werden.

Hoffe du hast auch darauf eine Lösung :P

ajo un danke schonmal für deine Hilfe :D

Hoffe du hast auch darauf eine Lösung :P

Dann öffne das Dokument nicht gleich mit dem Reader sondern speicher es mal ab und schau es dir mit nem Texteditor an.

Dann wirst du ja sehen, was da rauskommt. Ich schätze mal, dass da eben doch noch was davor kommt o.ä., was da nicht hinsoll.

Kannst es mit einer Option ja als Anhang ausgeben (s.o., keine Ahnung mehr auswendig) und dann sollte nämlich der Speichern-Dialog aufgehen.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.