Robert Kampfl: Dateidownload per php

Hallo zusammen,

bräuchte bitte Hilfe.

Lade mit nachfolgenden Script per php eine pdf Datei zur Anzeige im Browser. Funktioniert auch einwandfrei.

Nur, die pdf ist manchmal etwas größer und braucht ein wenig zum laden. Bei mir kommt da ein blauer Ladebalken. Aber manche Browser zeigen da erstmal nur einen schwarzen Bildschirm. Und ein ungeduldiger Nutzer könnte meinen da passiert nichts und bricht wieder ab.

Jetzt habe ich zufällig auf einer anderen WebSite gesehen, dass hier die Datei (erste Seite) sofort angezeigt wird, während die gesamte Datei im Hintergrund nachgeladen wird. Hab beides mit meinem Rechner ausprobiert. Kann mir vielleicht jemand sagen wie man das verwirklichen kann?

Danke im Voraus und viele Grüße

Robert

$file = '../daten/' . $nr  . '/' . $Dateiname;
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename=' . $Dateiname);
header('Content-Length: ' . filesize($file));
readfile($file);

(Edit Rolf B: Codeformatierung aktiviert)

  1. $file = '../daten/' . $nr  . '/' . $Dateiname;
    header('Content-Type: application/pdf');
    header('Content-Disposition: inline; filename=' . $Dateiname);
    header('Content-Length: ' . filesize($file));
    readfile($file);
    

    Jetzt habe ich zufällig auf einer anderen WebSite gesehen, dass hier die Datei (erste Seite) sofort angezeigt wird, während die gesamte Datei im Hintergrund nachgeladen wird. Hab beides mit meinem Rechner ausprobiert. Kann mir vielleicht jemand sagen wie man das verwirklichen kann?

    Versuche mal:

    $file = '../daten/' . $nr  . '/' . $Dateiname;
    header('Content-Type: application/pdf');
    header('Content-Disposition: inline; filename=' . $Dateiname);
    # header('Content-Length: ' . filesize($file));
    readfile($file);
    

    Dann wäre noch das hier:

    Für schnelle Webansicht optimieren

    Reduziert die Größe der PDF-Datei und optimiert die PDF-Datei für eine schnelle Anzeige in einem Webbrowser, indem die Datei für das seitenweise Herunterladen (Byte-Serving) neu strukturiert wird. Mit dieser Option werden Text und Vektorgrafiken komprimiert, und zwar unabhängig von den Einstellungen, die Sie im Dialogfeld „Adobe PDF exportieren“ unter „Komprimierung“ ausgewählt haben.

    Womit exportierst Du?