Ankündigung

Einklappen
Keine Ankündigung bisher.

Download begrenzen

Einklappen

Neue Werbung 2019

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

  • LightApps
    hat ein Thema erstellt Download begrenzen.

    Download begrenzen

    Mit diesem Script kann man die Downloadgeschwindigkeit von einer Datei auf eine geswünschte Geschwindigkeit ausbremsen.

    Ist sehr nützlich, wenn man keine schnelle Anbindung des Servers hat.

    PHP-Code:
     <? 
        $file = 'lala.zip'; 

        $limit = 10; // Hier gibt man ein, wie viel Kilobyte pro Sekunde max. geladen werden dürfen. 
        $verzeichnis = '/srv/www/html/downloads/'; // Downloadverzeichnis 
        $rundeslimit = round($limit*1024); // Kilobytewert in Byte umrechnen 
         
        header('Cache-control: private'); 
        header('Content-type: application/octetstream');  
        header('Content-Length: '.filesize($verzeichnis.$file)); 
        header('Content-Disposition: attachment; filename='.$file);  
        // Attachementheader senden 
         
        flush(); 
        $fd = fopen($verzeichnis.$file, 'r'); 
        while(!feof($fd))  
        { 
            echo fread($fd, $rundeslimit); 
            flush(); 
            sleep(1); 
        } 
        fclose ($fd); 
        // Die Speed-Sperre wird geschaltet 
    ?>
    Mehr zum Script findet Ihr hier: scriptpara.de

  • KingCrunch
    antwortet
    Fazit: Download-Begrenzer und Co sind alles billige Workarounds. Effektiver arbeitet man direkt am Webserver oder noch besser per FTP. Zudem sollte man nicht vergessen: Wer schneller downloaded, ist auch schneller fertig

    Einen Kommentar schreiben:


  • PsychoEagle
    antwortet
    *rumkugel*

    2:0 für King *g*

    Made my day sorry. Musste ich sagen, konnt net anders. Fakto, limit und round ist wie schon erwähnt unnötig. Max_execution_time stellt auch ein Problem dar.

    Auch wenn man von 30 sek also 300kb ausgeht und keine größeren Dateien über das Script downloaded, hat man ein Problem. Was wenn der Downloader, der downloaded, schon etwas anderes downloaded und weniger als 10kb/s für den Transfer zur verfügung hat? Er kann es nicht downloaden (wenn die Datei annähernd an den 300kb ist).

    Hmm.

    Einen Kommentar schreiben:


  • KingCrunch
    antwortet
    Aber eine Ganzzahl gerundet ergibt immer sich selbst Oo ....

    PHP-Code:
    <?php
    $zahl 
    23// man beachte: Ungerade
    echo round ($zahl); // 23.0
    ?>

    Einen Kommentar schreiben:


  • Ambience
    antwortet
    hmm

    PHP-Code:
    <?php
    $zahl 
    22;
    if ((
    $zahl 2) === 0) { // wird ausgeführt
      
    $zahl round ($zahl);
    }
    echo 
    $zahl// 22.0
    ?>
    war eigentlich so nicht gemeint... Wenn $zahl % 2 == 0, brauchst du nicht runden, da zahl gerade ist... andernfalls rudnen...

    Ambience

    Einen Kommentar schreiben:


  • KingCrunch
    antwortet
    Könnte aber mit if (($limit % 2) == 0) noch überprüft werden.
    Kann man. Igäl hat mir den Text geklaut Naja, zumindest prüfst du damit auf eine gerade Zahl. Was das mit Kommazahlen und round zu tun hat ... ^^
    PHP-Code:
    <?php
    $zahl 
    22;
    if ((
    $zahl 2) === 0) { // wird ausgeführt
      
    $zahl round ($zahl);
    }
    echo 
    $zahl// 22.0
    ?>
    Limit wird gesetzt, multipliziert und in fread nochmal benutzt, oder sehe ich das falsch?
    Siehst du falsch: Dort wird $rundesLimit verwendet. Warum dann nicht gleich $limit = 10 * 1024 und $limit verwenden?
    max_execution_time ist bei mir zumindestens mal 60 sec und keine 30.
    Schön, aber einerseits bin ich vom Standard-Wert lauf Manual ausgegangen und zweitens wäre das immer noch süße 600kB
    Typefehler wäre ausserdem nur wieder, wenn man nicht prüft ob $limit gerade oder ungerade ist.
    Was hattn das mit gerade und ungerade zu tun? Man kann doch wohl eine ungerade Anzahl Bytes auslesen. Und den Typfehler in der Form gibs ja in PHP sowieso nicht. Nur merkwürdige Verhalten von merkwürdigen Type-Conversions

    Ganz nebenbei elementare Mathematik: Jede ganze Zahl multipliziert mit einer geraden ganzen Zahl, ergibt eine gerade, ganze Zahl

    Einen Kommentar schreiben:


  • Igäl
    antwortet
    Auch ungerade Ganzzahlen ergeben bei einer Multiplikation mit einer Ganzzahl Ganzzahlen (schöner Satz ) Demnach ist das round da wirklich überflüssig.

    Einen Kommentar schreiben:


  • Ambience
    antwortet
    Zitat von KingCrunch Beitrag anzeigen
    Dazu hab ich doch glatt nen paar Fragen: Wieso wird gerundet, wenn eine Ganzzahl mit einer Ganzzahl multipliziert wird (überflüssige Funktion)? Wieso wird ein limit erst gesetzt, dann multipliziert und nie wieder benutzt (überflüssige Variable)? Wass passiert bei Dateien größer als limit*max_execution_time? Default ist 30sec, ergo wären (im Beispiel) Dateien größer als 300kb (was nu wirklich sehr klein ist) nicht möglich.

    Nebenbei gibt round (das hier sowieso sinnlos ist) float zurück. Jede andere Sprache würde hier (berechtigt) meckern wegen Typfehler --> unschöner Stil.
    Also round wird wohl drinne sein, weil man das limit selbst setzen kann, und man deshalb auch einer ungerade Zahl reinschreiben kann.. Könnte aber mit if (($limit % 2) == 0) noch überprüft werden. Limit wird gesetzt, multipliziert und in fread nochmal benutzt, oder sehe ich das falsch?

    max_execution_time ist bei mir zumindestens mal 60 sec und keine 30.

    Oder hab ich da jetzt irgendwas falsch verstanden? Typefehler wäre ausserdem nur wieder, wenn man nicht prüft ob $limit gerade oder ungerade ist.


    Ambience

    Einen Kommentar schreiben:


  • KingCrunch
    antwortet
    Dazu hab ich doch glatt nen paar Fragen: Wieso wird gerundet, wenn eine Ganzzahl mit einer Ganzzahl multipliziert wird (überflüssige Funktion)? Wieso wird ein limit erst gesetzt, dann multipliziert und nie wieder benutzt (überflüssige Variable)? Wass passiert bei Dateien größer als limit*max_execution_time? Default ist 30sec, ergo wären (im Beispiel) Dateien größer als 300kb (was nu wirklich sehr klein ist) nicht möglich.

    Nebenbei gibt round (das hier sowieso sinnlos ist) float zurück. Jede andere Sprache würde hier (berechtigt) meckern wegen Typfehler --> unschöner Stil.

    Einen Kommentar schreiben:

Lädt...
X