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



Im Homepage und Webhosting-Forum --- Downloadzeit berechnen

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 - 06 Juli 2020 Antworten
im Forum für Webhosting Homepage gefunden:
Downloadzeit berechnen
The Doctor
Pixelschubser
Threadstarter




Beiträge: 9

Hi!

Ich habe bisher schon selber ein Script mir zurecht gebastelt, um die Größe eines PHP-Files auf irgendeinen Server auslesen zu lassen.

Siehe hier:
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:
= 1024*1024*1024) {
return round($size/(1024*1024*1024), $decimals)." GB";
}
if($size >= 1024*1024) {
return round($size/(1024*1024), $decimals)." MB";
}
if($size >= 1024) {
return round($size/(1024), $decimals)." KB";
}
return $size." byte";
} }
echo get_size("http://$files->url", 2); ?>


Wie kann ich das Script so anpassen, so dass ich die Download-Zeit noch berechnet bekomme?

Also wie lange dauert es mit ISDN, DSL 1000, usw...

Wäre super nett, wenn mir hier einer helfen könnte.

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Die Verbindungsgeschwindigkeiten werden meist in Bit angegeben - 8 Bit sind 1 Byte. Da du die Bytegröße der Datei hast, kannst du dann einfach rechen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
The Doctor
Pixelschubser
Threadstarter




Beiträge: 9

Das ist mir schon klar.

Ich habe hier schon was gefunden:
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: 
48: 
49: 
50: 
51:
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 = filesize($file);
    $ausg = round($size/(1024), 0)." KB
"; $size *= 8; foreach($values as $key=>$value) { $time = sec_format($size/($value*1024)); $ausg .= $time." @ ".$value." kBaud (".$key.")
"; } return $ausg; } echo download_time("../datei1.zip"); echo "
"; echo download_time("../datei2.zip"); echo "
"; echo download_time("../datei3.zip"); ?>


Mein Problem liegt jedoch in den letzten Zeilen bei echo download_time.. Ich will da ja wieder "http://$files->url" als Wert eingeben. Jedoch funktioniert das aber nicht. Deswegen wende ich mich ja an euch da draussen, weil ich leider nicht der beste Programmierer bin.

Bitte helft mir

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

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?

---
Weaverslave

  Profil   Website   Editieren   Zitieren
The Doctor
Pixelschubser
Threadstarter




Beiträge: 9

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 ;)

  Profil   Website   Editieren   Zitieren
The Doctor
Pixelschubser
Threadstarter




Beiträge: 9

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:
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
"; $size *= 8; foreach($values as $key=>$value) { $time = sec_format($size/($value*1024)); $ausg .= $time." @ ".$value." kBaud (".$key.")
"; } 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

Diese Nachricht wurde geändert von: The Doctor
  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

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.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
The Doctor
Pixelschubser
Threadstarter




Beiträge: 9

mmh wie muss ich das denn machen.. Bin bisher immer gut gefahren, mit die Codes zusammenzubasteln ;)

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Downloadzeit berechnen

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Downloadzeit berechnen im Forum Homepage Hosting AntwortenLetztes Posting
Gambling
in "PHP & MySQL"
1 19.06.2020 19:48 von hasmpil
Casino online
in "PHP & MySQL"
6 11.06.2020 15:20 von Dino9595
Poolpumpe
in "PHP & MySQL"
1 09.06.2020 16:34 von Baumwerk
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
2 05.06.2020 14:06 von Rogantinno
SEO-Dienste
in "PHP & MySQL"
2 09.04.2020 09:53 von Heuzutag
CMS für Online Shop
in "PHP & MySQL"
25 23.08.2019 10:37 von Againg
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973



Besucher : 6746469    Heute : 1105     Gestern : 1107     Online : 18     6.7.2020    23:42      0 Besucher in den letzten 60 Sekunden        
Nach oben