mit PHP Dateien zum Download anbieten

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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>
    Last edited by ; 11-07-2002, 13:35.

    Comment


    • #3
      zu viel arbeit

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

      Comment


      • #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!)

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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

              Comment


              • #8
                so funktionert das einwandfrei:

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

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

                Comment

                Working...
                X