Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datei-Download realisieren

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Datei-Download realisieren

    Moin Moin,

    Habe vor längerer Zeit mal einen Dateidownload über eine PHP-Datei realisiert, jedoch musste ich da feststellen dass das den Root-Server so sehr belastet, dass gar nichts mehr geht.
    ( Seiten aufbau schon bei wenigen Downloads total langsam usw. ).
    Die CPU-Auslastung stieg sehr schnell an.

    Habe das so gemacht:

    PHP-Code:
    <?php
    header
    ('Content-type: application/...');

    header('Content-Disposition: attachment; filename="$file"');

    readfile($origfile);
    ?>
    Die Dateien waren zwischen 700mb und 2GB.

    Die Frage ist... wie macht man es denn sonst? Es gibt ja Seiten wo das klappt.

    Vielen Dank
    Grüße
    "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

  • #2
    Wenn der Server nicht zum Webhosting für mehrere User/Vhosts genutzt wird kannst du dir mal mod_xsendfile
    anschauen, damit muss man in php nur via header() einen header senden und apache liefert dann die datei die hinter dem pfad steckt komplett von sich aus.

    Ist allerdings nicht für multi-user/domain-systeme geeigent, da keine Sicherheitsfeature vorhanden sind, weil damit alle Dateien zugreifbar sind auf die der apache zugriff hat.
    [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
    | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

    Kommentar


    • #3
      Zitat von robo47 Beitrag anzeigen
      Wenn der Server nicht zum Webhosting für mehrere User/Vhosts genutzt wird kannst du dir mal mod_xsendfile
      anschauen, damit muss man in php nur via header() einen header senden und apache liefert dann die datei die hinter dem pfad steckt komplett von sich aus.

      Ist allerdings nicht für multi-user/domain-systeme geeigent, da keine Sicherheitsfeature vorhanden sind, weil damit alle Dateien zugreifbar sind auf die der apache zugriff hat.
      Moin,

      das sieht interessant aus, arbeite aber mit Lighttpd
      Danke
      Grüße
      Destruction
      "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

      Kommentar


      • #4
        mod_xsendfile ist bei lighttpd abgekupfert, der kann das nämlich out-of-the-box

        X-Sendfile
        [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
        | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

        Kommentar


        • #5
          Zitat von robo47 Beitrag anzeigen
          mod_xsendfile ist bei lighttpd abgekupfert, der kann das nämlich out-of-the-box

          X-Sendfile
          Ich bedanke mich und wünsche dir/euch ein schönes Wochenende.
          "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

          Kommentar

          Lädt...
          X