Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Ile bedzie sie plik pobieral
Forum PHP.pl > Forum > Przedszkole
me123
Witajcie,
Na paru stronach widzialem takie fajne statystyki przy downloadzie
jest kilka alcz tam 56kb, 128kb, ISDN itp i pisze ile dany plik przy takim laczy bedize sie pobieral. jak to zrobic? wiem jak sprawdzic rozmiar pluku ale nie wiem za bardzo z jaka predkoscia sie pobierajaca na tych laczach i jak to poznije obliczyc na minuty i godzine
Prosze o pomoc
strife
No to chyba tutaj matematyka się kłania ( chyba taki temat na forum gdzieś już był ... ) jak masz 256 kb/s to jest to 32 kB/s.

1024 kB = 1MB.

Tak więc 1024/32 i wychodzi Ci ile to sekund. Proste.

ps. mam nadzieję, że się nie pomyliłem :]

[+]
Kalkulator bity -> bajty
me123
ok dzięki a z jaka szybkoscia się sciaga na laczach
56kb/s
128kb/s
256kb/s
512kb/s
1MB/s
i na tym calym ISDN ?
strife
Cytat(me123 @ 4.03.2007, 23:17:51 ) *
ok dzięki a z jaka szybkoscia się sciaga na laczach
56kb/s
128kb/s
256kb/s
512kb/s
1MB/s
i na tym calym ISDN ?

Spało się na lekcjach matematyki ? tongue.gif

56kb/s - 7 kB/s
128kb/s - 16 kB/s
256kb/s - 32 kB/s
512kb/s - 64 kB/s
1MB/s - 128 kB/s

Liczysz jaka jest wielkośc pliku, a następnie dzielisz przez szybkość łącza i masz czas w sekundach, potem sobie możesz to dowolnie przerobić na minuty, godziny itp.

Poza tym tak trudno samemu sobie to policzyć? leń! tongue.gif
Kisiol_Ent
Nie no ręce opadaja jak sie takie posty czyta.
Dobrze z Giertych wprowadzil ta matematyke...

http://pl.wikipedia.org/wiki/Bit
http://pl.wikipedia.org/wiki/Bajt_(informatyka)
me123
  1. <?php
  2. function get_down_time($file) {
  3.  
  4. $ile = array( 1=>'7168', 2=>'16384', '3'=>'32768', '4'=>'65536', '5'=>'131072' );
  5. $speeds = array( '1'=>'56kb/s', '2'=>'128kb/s', '3'=>'256kb/s', '4'=>'512kb/s', '5'=>'1mb/s' );
  6. $size = filesize($file);
  7. $a = 0;
  8. while($a<>5) {
  9. $a++;
  10.  
  11. if(($size / $ile[$a] ) >=60 ) {
  12. $si = round((($size / $ile[$a]) / 60), 2);
  13. $si = explode('.', $si);
  14. $si_ = round(($si[1] / 60), 2);
  15. $si_ = explode('.', $si_);
  16. $size_ = $size_.'przy laczu '.$speeds[$a].': '.$si[0].'minut '.$si_[1].'sekund<br>';
  17. } else {
  18. $size_ = $size_.'przy laczu '.$speeds[$a].': '.round(($size / $ile[$a]), 2).'sekund<br>';
  19. }
  20. }
  21. return $size_;
  22. }
  23. ?>

zrobilem cos takeigo, a jak zaokraglic zeby sekundy byly max do 59? bo u mnie wychodzi nawet 65 a nawet 90 sekund nieraz sad.gif
thornag
date()
me123
a co ma do tego funkcja date() ? bo za bardzo nie rozumiem
kriqs
Cytat
a co ma do tego funkcja date() ? bo za bardzo nie rozumiem


to moze ja napisze smile.gif

  1. <?php
  2. date( 'H:i:s' , mktime(,0, $ileSekund,0,0,0));
  3. ?>


ta funkcja zwruci ci cos takiego np jak dasz 120 sekund to on ci wyswietli 00:02:00. poczytaj o date smile.gif

ale pamietaj ze to nie bedzie dzialac dla duzych plikow i malego lacza smile.gif bo jak dasz powyzej 24*60*60 to ci liczy od nowa smile.gif
me123
jak nie bedzie dzialac to wyskoczy za dlugi czas ladowania strony czy poprostu jakis blad ?
czy jak dam @date(....blablabla...);
to bedzie dzialac poprawnie? tzn nie wywali mi bledow jesli bedize duzy plik i male laczE?
mike
Cytat(me123 @ 5.03.2007, 12:28:23 ) *
jak nie bedzie dzialac to wyskoczy za dlugi czas ladowania strony czy poprostu jakis blad ?
czy jak dam @date(....blablabla...);
to bedzie dzialac poprawnie? tzn nie wywali mi bledow jesli bedize duzy plik i male laczE?
A może byś tak sobie sprawdził sam leniu jeden?
cały ten wątek jest przykładem jak bardzo Ci się nie chce samemu.

Przecież sprawdzenie samemu da Ci odpowiedź, wiedzę i doświadczenie.
A jakbyś sobie doczytał co to daje @ to miałbyś gotowca od samego siebie.

No ale przecież lepiej jest pojęczeć na forum i dobrzy ludzie pomogą (tkwić Ci w niewiedzy).
me123
jakie lenistwo czlowieku? przeciez ja ta funkcje sam napisalem bez pomocy, a jak mam sprawdzic niby na laczu 512kb/s czy na laczy56kb/s nie wywali bledy jak dam przed data znaczek @ ?

ps ja iwem cze jak sie da @ to nie wywala bledow, ale wydaje mi sie ze przy duzym pliku i maly laczy moze wystapic blad za dlugi czas ladowania, i pytam sie czy to @ zalatwic to zeby niewyskoczylo w ze za dlugi czas,
thornag
@mike_mech ales ty niecierpliwy 'czlowieku' przeciez on to sam napisal exclamation.gif! ;P

@me123 a co tu ma nie dzialac ? Przeciez to jest matematyka. Jedyne co moze sie wysypac to to ze plik jest za duzy zeby filesize zczytac i sie czas wykonywania skryptu skonczy zanim dostaniesz filesize. Taka sytuacja w ogole dla mnie jest smieszna poniewaz i tak powinienes zrobic forcedownload zeby ten plik podac, a przy formowaniu naglowka wypada podac wielkosc pliku. Tlumienie bledow (@) mozna zastosowac na samym filesize nie na date, w date nie ma sie co wysypac biggrin.gif
me123
ok dzieki, i takiej odpowiedzi prostej oczekiwalem
mike
Sam napisał ale sam już sprawdzić nie potrafi.
Pomijam już to że dodawać i mnożyć powinien umieć każdy i ten wątek to powinien być na Przedszkolu (bo niżej się nie da).

Mi tylko chodzi o to, że sprawdzić powinno się samemu. I brak samodzielności na tym polu wypomniałem. Bo dla mnie jest nienormalne żeby nie potrafić sobie uruchomić skryptu, który samemu się napisało, tylko zaraz lecieć na forum. Śmietnik się robi i tyle.
me123
swoją drogą jak robie przez funkcje date() kurde tylko masz do 24 godzin leci, a jak plik ma sie sciagac dluzej niz dzien to jak zrobic zeby pisalo np 28:21:00 albo tez 1dzien 2:39:00
?
strife
Przenoszę na Przedszkole

Czas który otrzymujesz z tego co ja napisałem jest w sekundach, teraz sobie policz, ile sekund to minuta, godzina, i doba. Podzielisz i będziesz miał co chcesz. Podstawy matematyki to są.

Przychylam się do tego co napisał ~mike_mech, więcej samodzielności.
me123
juz zrobilem sobie sam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.