Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 25
  1. #1
    ...hat grad kaum Zeit Avatar von abflussrohr
    Registriert seit
    Apr 2007
    Beiträge
    1.558

    Standard [php] File Up/Download, Speed limit, Resume

    Da es in letzter Zeit immer wieder mal angefragt wurde, habe ich die Fragen von hier und hier aufgegriffen und in einen Code getippt. Herausgekommen ist ein kleines Downloadscript, welches Dateien ausliefert und dabei die Geschwindigkeit regulieren kann und das Wiederaufnehmen von abgebrochenen Downloads erlaubt.

    Letztere Funktionalität habe ich bisher nur mit Opera erfolgreich getestet. Daher wollte ich fragen, ob das jemand mal mit einem Downloadmanager testen kann (vor allem, ob das Herunterladen mit mehreren parallelen Verbindungen klappt).

    Hier der Link:

    http://typosquat.x10hosting.com/uplo...b9b431f901274c

    Der Download ist auf 2 KB/s beschränkt (die Datei ist nur 260KB groß), damit das Herunterladen nicht zu schnell vorbei ist

    Wenn das alles klappt, dann stell ich hier mal den Code rein.

  2. #2
    Kellerassel Avatar von sackratte666
    Registriert seit
    May 2006
    Ort
    localhost
    Beiträge
    709

    Standard Re: [php] File Up/Download, Speed limit, Resume

    mit firefox ist der speed exakt bei 2,4 kb/s gewesen

    hätte interesse am code

  3. #3
    SuzeLover! Avatar von TraXXMale
    Registriert seit
    Nov 2005
    Beiträge
    1.671

    Standard Re: [php] File Up/Download, Speed limit, Resume

    cool, erfolgreich mit 2,3 kb unter firefox getestet.

  4. #4
    K!NG OF WEB! Avatar von BLU2
    Registriert seit
    Jul 2006
    Ort
    Hamburg
    Beiträge
    245

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Zitat Zitat von abflussrohr
    Da es in letzter Zeit immer wieder mal angefragt wurde, habe ich die Fragen von hier und hier aufgegriffen und in einen Code getippt. Herausgekommen ist ein kleines Downloadscript, welches Dateien ausliefert und dabei die Geschwindigkeit regulieren kann und das Wiederaufnehmen von abgebrochenen Downloads erlaubt.

    Letztere Funktionalität habe ich bisher nur mit Opera erfolgreich getestet. Daher wollte ich fragen, ob das jemand mal mit einem Downloadmanager testen kann (vor allem, ob das Herunterladen mit mehreren parallelen Verbindungen klappt).

    Hier der Link:

    http://typosquat.x10hosting.com/uplo...b9b431f901274c

    Der Download ist auf 2 KB/s beschränkt (die Datei ist nur 260KB groß), damit das Herunterladen nicht zu schnell vorbei ist

    Wenn das alles klappt, dann stell ich hier mal den Code rein.
    klappt einbahnfrei würde mich sehr über den code freuen

  5. #5
    Mitglied
    Registriert seit
    Oct 2007
    Beiträge
    93

    Standard Re: [php] File Up/Download, Speed limit, Resume

    mit dem free download manager komme ich auf einen speed von durschnittlich 2,1 kb.

    auch das wiederaufnehmen des downloads klappt einwandfrei. nur eins noch: es gibt bestimmt irgendeinen HTTP header der gesendet wird, um anzuzeigen, dass der download wiederaufgeommen werden kann. der free download manager zeigt nämlich nur an "Wiederaufnahme: Unbekannt". deswegen wird das im firefox wohl nicht funktionieren......

    p.s. ich würde mich auch über den quellcode freuen

  6. #6
    KlügsterMenschderWeltAuto Avatar von fAt-aXe
    Registriert seit
    Jan 2007
    Beiträge
    762

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Blödes Script ^^ bremst meine schöne Highspeedleitung mit Firefox auf 2,0 KB/sek

    veröffentliche diesen Code bitte nie :P

  7. #7
    Mitglied Avatar von FoXyLiOn
    Registriert seit
    Apr 2006
    Ort
    next to the moon
    Beiträge
    1.669

    Standard Re: [php] File Up/Download, Speed limit, Resume

    toll gemacht, danke abflussrohr, das mit $_SERVER['HTTP_RANGE'] kannte ich noch nicht, vor allem weil es in der PHP-Manual nicht auftaucht, gibt's noch mehr solcher Variablen? vielleicht sogar eine für den kompletten Header?

  8. #8
    V.I.P. Avatar von Rec@ll
    Registriert seit
    Jan 2004
    Beiträge
    1.409

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Den is ja mal cool
    würde mich auch über den code freuen

  9. #9
    ...hat grad kaum Zeit

    (Threadstarter)

    Avatar von abflussrohr
    Registriert seit
    Apr 2007
    Beiträge
    1.558

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Zitat Zitat von BLU2
    klappt einbahnfrei
    Bei mir klappts sogar Einbahnstraße *kicher*

    @brianjohnson: Probier es nochmal, ich habe einen "Accept Ranges"-Header hinzugefügt.

    @FoXyLiOn: Nicht dass ich wüsste, du kannst dir ja per print_r() die komplette $_SERVER ausgeben lassen.

    Ich habe den Download mit FlashGet getestet und das konnte ohne Probleme gleichzeitig 5 Streams runterladen. Ich pack den Code noch etwas ein und dann kommt er hier hin.

    Ach, eine Frage habe ich noch: Ich nehme an, dass es kein verbindliches Charset für den HTTP-Header gibt. Das ist sehr schade, da Opera auf UTF8 und die anderen auf 8859-1 klarkommen wenn es um den Dateinamen geht (Content-Disposition: attachment; filename= ...). Bei Umlauten wirds dann immer komisch...

  10. #10
    Mitglied Avatar von FoXyLiOn
    Registriert seit
    Apr 2006
    Ort
    next to the moon
    Beiträge
    1.669

    Standard Re: [php] File Up/Download, Speed limit, Resume

    du kannst ja über
    PHP-Code:
    <?php
    header
    ('Content-Type: application/octet-stream;'.
           
    'charset=utf-8'); // or iso-8859-1(5)
    ?>
    den passenden Charset setzen, vielleicht beeinflusst das auch das encoding vom header.
    ansonsten halt $_SERVER['HTTP_USER_AGENT'] den browser rausparsen und je nach typ anderes encoding auf den dateinamen anwenden... oder umlaute durch ae, oe, ue, usw. ersetzen

  11. #11
    Mitglied
    Registriert seit
    Oct 2007
    Beiträge
    93

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Zitat Zitat von FoXyLiOn
    du kannst ja über
    PHP-Code:
    <?php
    header
    ('Content-Type: application/octet-stream;'.
           
    'charset=utf-8'); // or iso-8859-1(5)
    ?>
    den passenden Charset setzen, vielleicht beeinflusst das auch das encoding vom header.
    ansonsten halt $_SERVER['HTTP_USER_AGENT'] den browser rausparsen und je nach typ anderes encoding auf den dateinamen anwenden... oder umlaute durch ae, oe, ue, usw. ersetzen
    nimm besser:

    PHP-Code:
    header('Content-type: application/pdf; charset=utf-8');
    header('Content-Disposition: attachment; filename="downloaded.pdf"'); 
    so der free download manager zeigt jetzt alles korrekt an.

  12. #12
    ...hat grad kaum Zeit

    (Threadstarter)

    Avatar von abflussrohr
    Registriert seit
    Apr 2007
    Beiträge
    1.558

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Danke, das mit dem charset hat geholfen. Ich schreib noch schnell ne Test-Umgebung und dann sollte das erstmal fertig sein.

  13. #13
    Mitglied Avatar von FoXyLiOn
    Registriert seit
    Apr 2006
    Ort
    next to the moon
    Beiträge
    1.669

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Zitat Zitat von brianjohnson
    nimm besser:
    PHP-Code:
    header('Content-type: application/pdf; charset=utf-8');
    header('Content-Disposition: attachment; filename="downloaded.pdf"'); 
    so der free download manager zeigt jetzt alles korrekt an.
    es ging um den zeichensatz, nicht um den Content-Disposition bzw. den Inhalt der Datei

  14. #14
    ...hat grad kaum Zeit

    (Threadstarter)

    Avatar von abflussrohr
    Registriert seit
    Apr 2007
    Beiträge
    1.558

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Ok, dann will ich euch den Code nicht länger vorenthalten.

    Ein paar Hinweise zur Benutzung:

    Das Archiv besteht aus folgenden Dateien:

    index.php (HTML-Seite zum Uploaden von Dateien)
    download.php (HTML-Seite zum Downloaden von Dateien)
    delete.php (HTML-Seite zum Löschen von Dateien)
    pref.php (Enthält ein paar Einstellungen - Pfad, Limit, ...)
    utils.php (Enthält ein paar Methoden für die HTML-Darstellung)
    updown.php (Die eigentliche UpDownload-Klasse)

    In der pref.php muss eingestellt werden, in welches Verzeichnis (relativ) hochgeladene Dateien gespeichert werden (da steht zur Zeit 'files/' drin). Das müsst ihr noch anlegen und In diesem muss der Webserver natürlich Schreibrechte haben. Zusätzlich sollte dieses Verzeichnis per .htaccess vor Zugriffen geschützt werden! Außerdem wird PHP 5 benötigt.

    Technisch läuft das nun folgendermaßen ab: Eine hochgeladene Datei bekommt einen md5-Hash-Namen und wird dann im Dateien-Verzeichnis unter dem Namen hashwert.dat gespeichert (ich stamme noch aus DOS-Zeiten, in welcher jede Datei eine Endung zu haben hatte ). Zusätzlich wird eine Datei namens hashwert.txt angelegt. In dieser steht der Name der hochgeladenen Datei, ein paar weitere Infos und der Code der zum Löschen der Datei benötigt wird (ein md5-Hash halber Länge). Nach dem Hochladen wird ein Link zum Download und einer zum Löschen der Datei ausgegeben (aber das kennt ja jeder von RS).

    Alles Test liefen bisher erfolgreich. Allerdings ist dies hier, das hier und jenes hier nicht implementiert (ich habe aber auch noch keine Anwendung gesehen, die darauf baute). Die Speed-Limit-Implementierung ist auch sehr rudimentär (z.B. ohne IP-Test) und nicht wirklich genau, aber für kleine Einsatzzwecke sicher ausreichend.

    So das wars eigentlich schon.

    Ich weiß nicht, wie andere Up/Downloads realisieren (habe noch keinen Code diesbzgl. gesehen), deshalb ist das alles mehr so als Idee eines Ahnungslosen zu verstehen. Ich würde daher auch gerne wissen, was ihr davon haltet und vor allem, wie es mit der Sicherheit bestellt ist. Der Code ist sehr kommentararm, wer Fragen dazu hat, kann mir ne PN schicken.
    Angehängte Dateien Angehängte Dateien

  15. #15
    rebuilding
    Registriert seit
    Dec 2004
    Ort
    BW
    Beiträge
    3.304

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Cool, danke sehr.

    btw. Unter welcher Lizenz steht das Script, oder darf ich es verwenden, wie ich mag?

  16. #16
    Sir Harry von Pansen
    Registriert seit
    May 2007
    Beiträge
    112

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Herzlichen Dank,
    kann man sicher gebrauchen^^

  17. #17
    kampagne.de Avatar von B90
    Registriert seit
    Aug 2007
    Beiträge
    235

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Zitat Zitat von ClemensBW
    btw. Unter welcher Lizenz steht das Script, oder darf ich es verwenden, wie ich mag?
    PHP-Code:
    <?php
    // Aus den Fingern gesogen 2007 von abflussrohr@gulli
    // Der Code ist frei und darf verwurstet werden
    ?>
    Auch von mir ein Danke schöön für dieses Script!

  18. #18
    Mitglied
    Registriert seit
    Oct 2007
    Beiträge
    93

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Zitat Zitat von FoXyLiOn
    es ging um den zeichensatz, nicht um den Content-Disposition bzw. den Inhalt der Datei
    die sache mit octet/stream ist, dass das zwar von den gängigsten browsern unterstützt wird, aber eigentlich, wie eben da steht, einen 8 bit oktett stream darstellt. außerdem steht doch da der zeichensatz:

    Code:
    'Content-type: application/pdf; charset=utf-8'
    AUCH VON MIR HERZLICHEN DANK!

  19. #19
    ...hat grad kaum Zeit

    (Threadstarter)

    Avatar von abflussrohr
    Registriert seit
    Apr 2007
    Beiträge
    1.558

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Ja, der Code steht nicht unter irgendeiner Lizenz. Dazu ist er auch echt mal zu klein (da gibt es in den php-Comments aufwendigere). Ich gehöre auch nicht zu den Leuten, die jedem eigenen Furz noch nen Schild anhängen

  20. #20
    rebuilding
    Registriert seit
    Dec 2004
    Ort
    BW
    Beiträge
    3.304

    Standard Re: [php] File Up/Download, Speed limit, Resume

    Fein, dann danke nochmal

  21.  
     
     
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •