tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
213
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    msycho msycho ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Beiträge
    277
    Hallo!

    Ich habe eine function geschrieben, die mir die Downloadzeit eines Files errechnet.

    Hier mal das eigentliche Herz.

    PHP-Code:

    $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?
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Du berechnest das irgendwie falsch. Probier mal Folgendes:
    PHP-Code:
    foreach( $divisors as $type=>$divisor ) {
        
    $seconds[$i] = floor($bits/($divisor*1024));
        
    $hours[$i]   = floor($seconds[$i]/3600);
        
    $minutes[$i] = floor($seconds[$i]/60) % 60;
        
    $seconds[$i] = $seconds[$i] % 60;
        
    $hms[$i] = sprintf("%s (%d kbps): %02d:%02d:%02d"$type$divisor$hours[$i], $minutes[$i], $seconds[$i]);
        
    $i++;

     
    Markus Wulftange

Ähnliche Themen

  1. String datum formatieren
    Von w_wintersun im Forum Java Grundlagen
    Antworten: 1
    Letzter Beitrag: 28.12.10, 12:33
  2. String formatieren
    Von Sasser im Forum PHP
    Antworten: 9
    Letzter Beitrag: 19.03.10, 17:48
  3. String formatieren
    Von automatix1311 im Forum Java Grundlagen
    Antworten: 2
    Letzter Beitrag: 16.02.09, 09:55
  4. String formatieren
    Von tyronm im Forum Java
    Antworten: 24
    Letzter Beitrag: 21.12.07, 15:28
  5. string in Uhrzeit formatieren
    Von tgwd im Forum PHP
    Antworten: 4
    Letzter Beitrag: 15.09.05, 15:04