Hallo!
Ich habe eine function geschrieben, die mir die Downloadzeit eines Files errechnet.
Hier mal das eigentliche Herz.
Nun zum Problem. Ich veranschauliche das mal an zwei Beispielen:
1.) ca. 5,5 MB große Datei. Ausgabe:
DSL16000 (16384 kbps): 00:00:03
DSL6000 (6164 kbps): 00:00:07
DSL2000 (2048 kbps): 00:00:22
DSL1000 (1024 kbps): 00:00:44
ISDN (64 kbps): 00:11:48
Modem (56 kbps): 00:13:29
2.) ca. 940 MB große Datei. Ausgabe:
DSL16000 (16384 kbps): 00:07:49
DSL6000 (6164 kbps): 00:20:45
DSL2000 (2048 kbps): 01:02:3628
DSL1000 (1024 kbps): 02:04:7257
ISDN (64 kbps): 33:19:118812
Modem (56 kbps): 38:04:136848
Wieso haben im zweiten Beispiel die Sekunden teilweise mehr als zwei Stellen?
Habt Ihr eine Idee?
Ich habe eine function geschrieben, die mir die Downloadzeit eines Files errechnet.
Hier mal das eigentliche Herz.
PHP:
$divisors = array("DSL16000" => 16384,
"DSL6000" => 6164,
"DSL2000" => 2048,
"DSL1000" => 1024,
"ISDN" => 64,
"Modem" => 56);
foreach($divisors as $type=>$divisor) {
$seconds[$i] = round($bits/($divisor*1024));
$hours[$i] = floor($seconds[$i]/3600);
$minutes[$i] = floor(($seconds[$i]-($hours[$i]*3600))/60);
$seconds[$i] = $seconds[$i]-floor($minutes[$i]*60);
$hms[$i] = sprintf("%s (%d kbps): %02d:%02d:%02d", $type, $divisor, $hours[$i], $minutes[$i], $seconds[$i]);
$i++;
}
Nun zum Problem. Ich veranschauliche das mal an zwei Beispielen:
1.) ca. 5,5 MB große Datei. Ausgabe:
DSL16000 (16384 kbps): 00:00:03
DSL6000 (6164 kbps): 00:00:07
DSL2000 (2048 kbps): 00:00:22
DSL1000 (1024 kbps): 00:00:44
ISDN (64 kbps): 00:11:48
Modem (56 kbps): 00:13:29
2.) ca. 940 MB große Datei. Ausgabe:
DSL16000 (16384 kbps): 00:07:49
DSL6000 (6164 kbps): 00:20:45
DSL2000 (2048 kbps): 01:02:3628
DSL1000 (1024 kbps): 02:04:7257
ISDN (64 kbps): 33:19:118812
Modem (56 kbps): 38:04:136848
Wieso haben im zweiten Beispiel die Sekunden teilweise mehr als zwei Stellen?
Habt Ihr eine Idee?