ASCII: Download generierter Dateien

Tag auch!

Also ich habe folgendes Problem:

Angenommen ich habe eine Datei (foo.php)
Diese Datei hat irgendeinen Inhalt, den der User downloaden können muss. Das Format der Downloaddatei soll jedoch pdf sein.

Wie ich PDF-Dateien mit PHP erstellen kann, weiß ich.
Nur: Wie kann ich diese jetzt zum Download anbieten?
Sie soll quasi "on the fly" generiert werden und über header geöffnet werden, _ohne_ dass sie vorher (weder auf dem Server, noch in der Db) zwischengespeichert werden muss.

Wie kann ich dass machen?

Thank You!

ASCII

  1. Tag auch ASCII,

    da hilft es, in die schmutzige Trickkiste zu greifen:

      
    header('Content-Type: application/pdf');  
    header('Content-Transfer-Encoding: Binary');  
    header('Content-Disposition: attachment; filename=lademich.pdf');  
      
    $daten=mach_daten();  
      
    exit($daten);  
    
    

    Gruß aus Berlin!
    eddi

    1. Tag auch ASCII,

      da hilft es, in die schmutzige Trickkiste zu greifen:

      header('Content-Type: application/pdf');
      header('Content-Transfer-Encoding: Binary');
      header('Content-Disposition: attachment; filename=lademich.pdf');

      $daten=mach_daten();

      exit($daten);

      Ja gut soweit komme ich schon mit, aber warum exit() und nicht readfile() (wie normaleerweise bei PHP-Downloads üblich)?

      ASCII

      1. hi,

        header('Content-Type: application/pdf');
        header('Content-Transfer-Encoding: Binary');
        header('Content-Disposition: attachment; filename=lademich.pdf');

        $daten=mach_daten();

        exit($daten);

        Ja gut soweit komme ich schon mit, aber warum exit() und nicht readfile() (wie normaleerweise bei PHP-Downloads üblich)?

        weil deine bedingung lautete

        Sie soll quasi "on the fly" generiert werden und über header geöffnet werden, _ohne_ dass sie vorher (weder auf dem Server, noch in der Db) zwischengespeichert werden muss.

        und jetzt überlege mal, warum readfile readFILE heißt.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }