WinFuture-Forum.de: [php]download Script -> Dateigröße - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[php]download Script -> Dateigröße


#1 Mitglied ist offline   Sin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 414
  • Beigetreten: 13. Mai 04
  • Reputation: 0

geschrieben 17. Juni 2005 - 12:06

Hallo,

ich habe mir vor einer weile mein eigenes Downloadscript geschrieben um nur Downloads zuzulassen die über einen Counter gehen um den Traffic zu überwachen.

Funzt soweit problemlos nur da ich über head die datei streame is die end datei größe unbekannt .. kann ich die irgendwie mitsenden oder muss es dabei bleiben das man nur die aktuelle, schon runtergeladene Dateigröße sieht ?
0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 17. Juni 2005 - 12:19

Du kennst doch die Dateien, die die du zum Download anbietest und somit die Dateigröße, oder nicht?!
0

#3 Mitglied ist offline   Yalamand 

  • Gruppe: aktive Mitglieder
  • Beiträge: 101
  • Beigetreten: 19. Mai 05
  • Reputation: 0

geschrieben 17. Juni 2005 - 12:20

Zitat (Witi: 17.06.2005, 13:19)

Du kennst doch die Dateien, die die du zum Download anbietest und somit die Dateigröße, oder nicht?!
<{POST_SNAPBACK}>



jupp warum nicht einfach filesize()?
0

#4 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 17. Juni 2005 - 12:35

er fragt ja nicht, wie er die dateigröße rausfinden kann. Sein Problem ist, dass es im Browser nicht angezeigt wird. Hier kannst du aber den HTTP-Header Content-Length verwenden. Die Größe gibst du dabei in Bytes an.

Beispiel:
Content-Length: 3495

0

#5 Mitglied ist offline   Sin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 414
  • Beigetreten: 13. Mai 04
  • Reputation: 0

geschrieben 17. Juni 2005 - 12:44

Ahja :)

Das war wohl dass, was ich wollte @ Future :P

Werds gleich mal testen :P
0

#6 Mitglied ist offline   Kr1x 

  • Gruppe: aktive Mitglieder
  • Beiträge: 143
  • Beigetreten: 27. Juli 02
  • Reputation: 0

geschrieben 17. Juni 2005 - 12:49

header ('Content-Length: ' . filesize($filename));
0

#7 Mitglied ist offline   Sin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 414
  • Beigetreten: 13. Mai 04
  • Reputation: 0

geschrieben 17. Juni 2005 - 18:55

Mhh ... was is daran falsch?

header("Content-type: $filetype");
             header("Content-Disposition: attachment; filename=$covered_name; Content-Length: ".filesize($real_filename)."");
       readfile("$real_filename");


Er zeigt immernoch keine Dateigröße an ...
0

#8 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 17. Juni 2005 - 19:02

Ich würde jetzt spontan sagen, dass vor "Content-Length" ein Leerzeichen hin muss bzw. dass es in ein seperates header() gehört.

Dieser Beitrag wurde von Floele bearbeitet: 17. Juni 2005 - 19:03

0

#9 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 17. Juni 2005 - 19:17

Schreib jeden Header wie Floele schon sagte, lieber in einen eigenen Aufruf von header();
Ansonsten scheint mir das Semikolon nach Content-Disposition unpassend zu sein.

Ach und wenn das so formatiert in deinem Script steht, sieht das nach nich so guter Formatierung aus. Bei sowas sollte man mal ne Runde Python als Strafe coden müssen ;)
0

#10 Mitglied ist offline   Sin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 414
  • Beigetreten: 13. Mai 04
  • Reputation: 0

geschrieben 18. Juni 2005 - 09:45

Ahh! So nun gehts ^_^


Für alle die es interessiert wie ->
header("Content-type: $filetype");
header("Content-Disposition: attachment; filename=$covered_name");
header("Content-Length: ".filesize($real_filename)."");
readfile("$real_filename");


Irgendwie muss "Filename" bei Content Dispostion stehen sonst geht es nicht :)

Danke nochmal an alle hier :)
0

#11 Mitglied ist offline   Sin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 414
  • Beigetreten: 13. Mai 04
  • Reputation: 0

geschrieben 18. Juni 2005 - 13:51

Mal ne Sicherheitsfrage...
Über "GET" lese ich aus welche File gewünscht ist.

Ich vergleiche das dann mit den verschiedenen (atm nur einem) Dateinamen per IF und "==" und wenn dies stimmt wird er zu jenem DL geleitet.

Sollte ich das GET vorher mit htmlentities or sowas "entschärfen" oder kann da nichts passieren?
0

#12 Mitglied ist offline   FutureCrasher 

  • Gruppe: aktive Mitglieder
  • Beiträge: 249
  • Beigetreten: 12. April 03
  • Reputation: 0
  • Wohnort:Nürnberg

geschrieben 18. Juni 2005 - 17:42

Ich seh da jetzt kein größeres Risiko dabei, im Dateinamen können ja theoretischerweise auch spitze Klammern enthalten sein. Nur wenn du den per GET empfangenen Dateinamen dann ausgeben willst auf ner Seite, dann solltest du den zuvor „entschärfen“
0

#13 Mitglied ist offline   Sin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 414
  • Beigetreten: 13. Mai 04
  • Reputation: 0

geschrieben 18. Juni 2005 - 17:43

hrm ne ausgeben will ich ja nix .. das dachte ich mir auch schon das bei der "if" überprüfung ja nix schiefgehen kann wenn er nicht ausgegeben wird..
0

#14 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 19. Juni 2005 - 21:04

Zitat

Ich vergleiche das dann mit den verschiedenen (atm nur einem) Dateinamen per IF und "==" und wenn dies stimmt wird er zu jenem DL geleitet.


Wenn du damit überprüfst, ob sich die Datei in einem erlaubten Verzeichnis befindet ist das eigentlich kein Risiko (kein größeres als bei POST auch nicht).

Zitat

Sollte ich das GET vorher mit htmlentities or sowas "entschärfen" oder kann da nichts passieren?


Nein, das schlimmste wäre dass man damit eine Datei auf deinem Server auslesen kann die man sivht auslesen dürfen sollte.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0