WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Downloadzeit berechnen » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von The Doctor
mmh wie muss ich das denn machen.. Bin bisher immer gut gefahren, mit die Codes zusammenzubasteln ;)
von subjective
Ich bin nicht dein Junge.

Der Rückgabewert von get_size() ist keine Zahl, sondern ein formatierter String, welcher dort ab Zeile 28 erstellt wird. Du mußt natürlich die Umwandlung entfernen um die direkte Bytezahl zu bekommen, mit welcher du dann rechnen kannst.
von The Doctor
Ich habe jetzt folgendes gemacht:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47:
<?php
function download_time($url) {
    if(!function_exists("sec_format")) {
        function sec_format($seconds) {
            $units = array(    "day|s"=>86400,
                            "hour|s"=>3600,
                            "minute|s"=>60,
                            "second|s"=>1
                             );
            if($seconds < 1) {
                return "< 1second";
            } else {
                $show = FALSE;
                $ausg = "";
                foreach($units as $key=>$value) {
                    $t = round($seconds/$value);
                    $seconds = $seconds%$value;
                    list($s, $pl) = explode("|", $key);
                    if($t > 0 || $show) {
                        if($t == 1) {
                            $ausg .= $t." ".$s.", ";
                        } else {
                            $ausg .= $t." ".$s.$pl.", ";
                        }
                        $show = TRUE;
                    }
                }
                $ausg = substr($ausg, 0, strlen($ausg)-2);
                return $ausg;
            }
        }
    }
    $values = array("DSL"=>768,
                    "ISDN"=>128,
                    "Modem"=>56.6
                      );
    $size = get_size($url);
    $ausg = round($size/(1024), 0)." KB<br />";
    $size *= 8;
    foreach($values as $key=>$value) {
        $time = sec_format($size/($value*1024));
        $ausg .= $time." @ ".$value." kBaud (".$key.")<br />";
    }
    return $ausg;
}
echo download_time("http://$files->url");
?>


Jetzt funktioniert allerdings die Umrechnung der Zeit nicht mehr! ArrgghH! Naja ich komme schon mal voran..

Siehe HIER
von The Doctor
Junge! Ich nutze momentan nur das erste Script! Ich will lediglich das zweite Script nutzen können. Daher war nur meine Frage, wie ich das machen kann ;)
von subjective
Im ersten Beitrag hast du eine eigene Funktion get_size(), welche einen HEAD-Request auf einen Webserver macht. Im deinem zweiten Beitrag jedoch nutzt du plötzlich die PHP-Funktion filesize, welche nur für lokale Dateien funktioniert. Warum nutzt du nicht mehr deine eigene Funktion?

Nach oben