Ankündigung

Einklappen
Keine Ankündigung bisher.

Downloadscript

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Downloadscript

    Habe folgendes Script gefunden:

    PHP-Code:
    <?php
    <?php 

    $filename 
    "/home/sites/web7/html/projekte/ubach/download/"

    // Passenden Datentyp erzeugen. 
    header("Content-type: application/pdf"); 
    // Passenden Dateinamen im Download-Requester vorgeben, 
    $save_as_name "test.pdf"
    header("Content-Disposition: attachment; filename=$save_as_name"); 
    // Dateigröße ausgeben 
    $download_size filesize($filename); 
    header("Content-Length: $download_size"); 
    // Datei ausgeben. 
    @readfile($filename); 
    ?> 
    ?>
    Wenn ich dieses auf dem Server ausführe bekomme ich folgende Meldung:

    Warning: Cannot modify header information - headers already sent by (output started at /home/sites/web7/html/projekte/ubach/download/act_download.php:2) in /home/sites/web7/html/projekte/ubach/download/act_download.php on line 7

    Kann damit jetzt nichts anfangen ... kann jmd helfen ?

    mfg

  • #2
    Vor der Ausführung von header() darf es keine Ausgabe per echo, print oder durch HTML-Code oberhalb von <?php geben.

    Kommentar


    • #3
      in der Datei act_download.php steht nix weiter drin ...

      Also kann das schonmal nich sein oder ?

      Kommentar


      • #4
        Die Fehlermeldung ist natürlich wahr & auch eindeutig. Irgendwo vor der Funktion header() wird irgendwas an den Browser gesendet.

        PHP-Code:
        <html>
        <body>
        <?php
        header
        ();
        ?>
        </body>
        </html>
        Das ist nicht erlaubt und produziert z.B. deine obige Fehlermeldung. Weitere Header könnten z.B. Sessions oder Cookies sein, da bin ich mir aber nicht sicher.

        Kommentar


        • #5
          Es reicht allerdings auch schon ein Zeilenumbruch oder ein Leerzeichen vor dem öffnenden php-Tag, damit der Apache einen Standartheader sendet und du ihn so nicht mehr verändern kannst!
          Beispiel
          Code:
          <?php // fehler, da schon ein Zeilenumbruch.
          header(...);
          ?>
          Code:
          <?php // richtig
          header(...);
          ?>
          PS: [php] tags machen automatisch oben und unten eine Leerzeile, daher die [code] tags.
          Water Wars - Jetzt anmelden: http://waterwars.de

          Kommentar

          Lädt...
          X