mit PHP Dateien zum Download anbieten

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

  • mit PHP Dateien zum Download anbieten

    Hallo ihr PHP-Profis !

    Das ist mein Problem:
    Ich möchte mit PHP Dateien auf meinem Server zum Download anbieten.
    Das wäre z.B. der Aufruf: redirect.php?id=file.pdf
    Diese Datei sollte dann nicht mit dem Acrobat Reader geöffnet werden, sondern das Dialogfenster "Download" im Browser sollte kommen.

    Ich habe mal gehört, dass PHP eine eigene Funktion dafür hat.
    Leider weiß ich nicht welche.

    Ich würde mich freuen, wenn ihr mir helfen könntet.

    cu,
    HANSI

  • #2
    Downloads immer zippen!
    Denk an die armen Menschen mit 56k-Modem.
    Und wenns gezippt ist, dass wirds auch nicht im Browser angezeigt

    Ansonsten:
    PHP-Code:
    <?PHP
    header
    ("Location: $file"); //Hier wird der Browser zum File weitergeleitet
    ?>
    <html>
    <head><title>Download erfolgt...</title></head>
    <body>

    // Hier schreibst du rein, was angezeigt werden soll

    </body>
    Zuletzt geändert von ; 11.07.2002, 13:35.

    Kommentar


    • #3
      zu viel arbeit

      zumal ich weiß, dass php die funktion ganz unterstützt. Außerdem sind das keine großen Dateien.

      Kommentar


      • #4
        Ok, habs gefunden

        PHP-Code:
        <?php
        $filename 
        $id// diese Zeile kannst du auch weglassen, hab ich nur genommen, damit es zu deinem Aufruf-Link passt
        $filesize filesize($fileName); 
        if(
        $filesize) { 
        Header("Content-Type: application/pdf"); 
        Header("Content-Length: ".$filesize); 
        Header("Content-Disposition: attachment; filename=".$fileName); 
        @
        readfile($fileName); 

        ?>
        cYa@work,
        tortus@work

        P.S. visit http://www.franzis-funny-comics.tk (beta!)

        Kommentar


        • #5
          vielen dank! er funktioniert aber nicht.

          der aufruf: down.php?id=programm1

          lokal bekomme ich eine weiße seite und online bekomme ich folgendes:
          Warning: stat failed for (errno=2 - No such file or directory) in /htdocs/special/down.php on line 3

          ich hoffe du kannst mir helfen.

          cu,
          HANSI

          Kommentar


          • #6
            das script sieht jetzt so aus:

            PHP-Code:
            <?
            header("Location: $file"); //Hier wird der Browser zum File weitergeleitet
            ?>


            <html>
            <head><title>Download erfolgt...</title></head>
            <body>

            <?
            $filename = $id;
            $filesize = filesize($fileName); 
            if($filesize)

            Header("Content-Type: application/pdf"); 
            Header("Content-Length: ".$filesize); 
            Header("Content-Disposition: attachment; filename=".$fileName); 
            @readfile($fileName); 

            ?>

            </body>
            </html>
            so rufe ich es auf:
            /special/down.php?id=programm1.pdf

            dann springt er mir in die index-Datei im Order SPECIAL.
            Komisch....

            cu,
            HANSI

            Kommentar


            • #7
              ich hab die PHP-Funktion gefunden, die ermöglicht, dass man eine Datei direkt zum Download anbietet:

              header("Content-type: application/octet-stream");

              nur: wie verwendet man diese ??

              cu,
              HANSI

              Kommentar


              • #8
                so funktionert das einwandfrei:

                PHP-Code:
                <?
                $dateiname = "$id.pdf";

                header("Content-Type: application/octet-stream");
                header("Content-Disposition: attachment; filename=\"$dateiname\"");
                readfile($dateiname);
                ?>

                Kommentar

                Lädt...
                X