Matthias: Dateidownload ohne HEADER

Hallo,

ist es möglich einen Dateidownload ohne den header() Befehl zu realisieren. Ich habe nämlich, aufrgund meines templates schon Ausgaben vor dem header() Befehl stehen.

Kennt jemand das Problem?
Und hat jemand eine Idee, wie ich dieses lösen kann?

Danke & Gruß aus Braunschweig
Matthias

  1. Hallo Matthias,

    ist es möglich einen Dateidownload ohne den header() Befehl
    zu realisieren. Ich habe nämlich, aufrgund meines templates
    schon Ausgaben vor dem header() Befehl stehen.

    Ja: linke auf die Datei.

    Mal im Ernst: wenn du die Datei per PHP an den User zurueck
    gibst, darfst du in keinem Fall vorher etwas ausgeben. Egal,
    ob du Header() benutzt oder nicht.

    Gruesse,
     CK

    --
    http://cforum.teamone.de/
    http://wishlist.tetekum.de/
    If God had meant for us to be in the Army, we would have been born with green, baggy skin.
  2. Moin,

    ein wenig merkwürdig ist die Konstellation ja schon, sofern die Ausgaben nicht durch Fehler oder z.B. Sessiondaten verursacht werden.

    Wenn sich das aber gar nicht mehr verhindern läßt, dann solltest Du vielleicht überlegen, das ganze mal mit OB (Output Buffering) ein wenig zu steuern, denn damit läßt sich verhindern, daß PHP bzw. der Webserver bereits Header an den Client senden, bevor wir das explizit auch wollen (kann auch nützlich für Leute sein, die z.B. nach dem Starten einer Session noch einen Redirect über header() durchführen wollen).

    Die maßgeblichen Funktionen:
    ob_start()
    ob_get_contents()
    und
    ob_end_flush() bzw. ob_end_clean()