Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czas sciagniecia pliku - licznik
brak
post 21.11.2004, 13:43:04
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.10.2004

Ostrzeżenie: (0%)
-----


Witam mam następujacy problem:

  1. <?php
  2.  
  3. $plik = $row['rozmiar']; // okresla rozmiar pliku zapisnego w bazie danych
  4. $modem = &#092;"56\"; //transfer w kb
  5. $czas = $plik/$modem;
  6. echo &#092;"$czas\";
  7. ?>


Wynik wyświetla mi prawidło, ale chciałbym, aby pokazywał w taki sposób:
- 0h 21 min 21 sec czy ktos moglby mi pomoc i przerobic ten kod, aby dzialal tak jak ja chce ?

Dziękuje i pozdrawiam winksmiley.jpg
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
rogrog
post 21.11.2004, 14:29:17
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


chodzi Ci o wyliczanie z liczby sekund czasu w "przyjaznym" formacie?

poszukaj było! opiera się to na dzieleniu modulo przez 60


--------------------
Go to the top of the page
+Quote Post
Vengeance
post 21.11.2004, 15:12:11
Post #3





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


moze cos takiego
  1. <?php
  2.  
  3. $plik = '1024'; // okresla rozmiar pliku zapisnego w bazie danych
  4. $modem = &#092;"56\"; //transfer w kb
  5. $czas = $plik/$modem;
  6. list($godziny, $minuty, $sekundy) = explode(' ', date(&#092;"G i s\", round($czas)));
  7. printf(&#092;"%sh %s min %s sec\", $godziny, $minuty, $sekundy);
  8. ?>


tylko trza jeszcze uwzglednic chyba strefy czasowe czyli w naszym przypadku od godziny odejmowac -1. tak mi sie wydaje smile.gif


--------------------
Go to the top of the page
+Quote Post
brak
post 21.11.2004, 15:47:54
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.10.2004

Ostrzeżenie: (0%)
-----


o to chodzi, lecz niestety nie dziala tzn w sumie dziala, ale pokazuje mi czas 1 h 00 min 1 sec. jest to nie mozliwe przy laczu 56 kbps i rozmiarze pliku 40 mb
Go to the top of the page
+Quote Post
dr_bonzo
post 21.11.2004, 17:06:24
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $wielkosc_pliku = 40 * ( 1024 * 1024 * 8 ); // 320 Mib 
  3. $transfer = 56 * 1024; // modem 56Kib/s
  4.  
  5. $czas_sciagania = intval( $wielkosc_pliku / $transfer );
  6. $x = $czas_sciagania;
  7.  
  8. $sekund = $czas_sciagania % 60;
  9. $czas_sciagania = intval( $czas_sciagania / 60 );
  10. $minut = $czas_sciagania % 60;
  11. $czas_sciagania = intval( $czas_sciagania / 60 );
  12.  
  13. $godzin = $czas_sciagania;
  14. echo &#092;"$wielkosc_pliku b @ $transfer b/s = $godzin h $minut m $sekund (tj. $x sekund)<br />\";
  15.  
  16. /*
  17. 40 MiB = 40960 KiB
  18. 7KiB/s
  19.  
  20. 40960/7 ~= 5851, okolo 1.5 godziny
  21. */
  22. ?>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
brak
post 21.11.2004, 23:11:54
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.10.2004

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2004-11-21 16:06:24)
  1. <?php
  2. $wielkosc_pliku = 40 * ( 1024 * 1024 * 8 ); // 320 Mib 
  3. $transfer = 56 * 1024; // modem 56Kib/s
  4.  
  5. $czas_sciagania = intval( $wielkosc_pliku / $transfer );
  6. $x = $czas_sciagania;
  7.  
  8. $sekund = $czas_sciagania % 60;
  9. $czas_sciagania = intval( $czas_sciagania / 60 );
  10. $minut = $czas_sciagania % 60;
  11. $czas_sciagania = intval( $czas_sciagania / 60 );
  12.  
  13. $godzin = $czas_sciagania;
  14. echo &#092;"$wielkosc_pliku b @ $transfer b/s = $godzin h $minut m $sekund (tj. $x sekund)<br />\";
  15.  
  16. /*
  17. 40 MiB = 40960 KiB
  18. 7KiB/s
  19.  
  20. 40960/7 ~=  5851, okolo 1.5 godziny
  21. */
  22. ?>

Dzieki wielkie działa, ale czy moglbys mi kazda linijke opisac bo np. nie wiem co oznacza 40 * ( 1024 * 1024 * 8 ); lub dlaczego * 1024 $transfer = 56 * 1024;

Pozdrawiam
Go to the top of the page
+Quote Post
dr_bonzo
post 22.11.2004, 00:33:57
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
moglbys mi kazda linijke opisac bo np. nie wiem co oznacza 40 * ( 1024 * 1024 * 8 );(...)


  1. <?php
  2. $wielkosc_pliku = 40 * ( 1024 * 1024 * 8 ); // wielkosc sciaganego pliku w BITACH (40 megabajtow to 40 x 1 megabajt, 1 megabajt to 1024 kilobajty, 1 kilobajt 
    t
  3.  1024 bajty, 1 bajt tpo 8 bitow, tak wiec 40 megabajtow to 40 x 1024 x 1024 x 8 
  4. ITOW)
  5. $transfer = 56 * 1024; // predkosc modemu (sciagania pliku) to 56 kilobitow / sekunde (czyli 56 x 1024 bitow /sek )
  6.  
  7. // czas sciagania obliczasz ze wzoru:
  8. // $czas_sciagania = $wielkosc_pliku / $transfer, wynik wyjdzie ci w sekundach
  9. // intval dlatego zeby miec calkowita ilosc sekund
  10.  
  11. $czas_sciagania = intval( $wielkosc_pliku / $transfer );
  12. $x = $czas_sciagania; // zapamietuje czas sciagania w SEKUNDACH aby na koniec go wyswietlic, poniewaz $c
  13. as_sciagania teraz ma ta sama wartosc ale potem bedzie onza zmieniona
  14. // czas_sciagania wychodzi 5851 sekund
  15.  
  16.  
  17. // wyliczam ile to jest 5851w godzinach:minutach:sekundach
  18. $sekund = $czas_sciagania % 60;
  19. $czas_sciagania = intval( $czas_sciagania / 60 );
  20. $minut = $czas_sciagania % 60;
  21. $czas_sciagania = intval( $czas_sciagania / 60 );
  22.  
  23. $godzin = $czas_sciagania;
  24. echo &#092;"$wielkosc_pliku b @ $transfer b/s = $godzin h $minut m $sekund (tj. $x sekund)<br />\";
  25.  
  26. ?>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:07