![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 16.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zrobilem taki skrypcik ktory ma na celu porownywanie ostatniego czasu modyfikacji pliku z obecnym i co 20 sek aktualizuje dane z serwa. Robie to w ten sposob:
[php:1:088fac97b4]<?php $zapis_danych = "zapis.txt"; $delay = 20; //w sekundach ///////////Czas lecacy w sekundach//////// $curr_time = time(); $time = date("G:i:s", $curr_time); $t = explode(":", $time); $czas = ($t[0]*3600)+($t[1]*60)+$t[2]; echo '<br>Current sec: ' . $czas; //////////Czas ost. modyf. pliku w sek/////// $mod_time = @filemtime($zapis_danych); $mod = date("G:i:s", $mod_time); $t = explode(":",$mod); $mod_pliku = ($t[0]*3600)+($t[1]*60)+$t[2]; echo '<br>Modification time: ' . $mod_pliku; /////porownanie///// $wynik = $czas - $mod_pliku; echo '<br />Wynik roznicy: ' . $wynik; if($wynik>$delay){ ?>[/php:1:088fac97b4] Problem jednak pojawia sie o 24:00 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Potem zaczyna zwracac ujemne wyniki no i sila rzeczy wynik jest zawsze mniejszy od delaya wiec dane sa czytane z pliku, nie sa juz aktualizowane. Ktos moglby pomoc mi rozwiazac ten problem, badz zasugerowac lepszy test "starosci" pliku w celu jego ew. updatu? Z gory thx. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Niepotrzebnie kombinujesz.. time() zwraca czas w sekundach od Unix Epoch (umowna data 01.01.1970), filemtime() tez zwraca czas w tej samej postaci. Wiec jesli je odejmiesz to otrzymasz roznice w sekundach i to bez wzgledu na to czy jest 24:00 czy tez nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
A i przy okazji kod Ci sie znacznie skroci... [php:1:2b6cbf6b64]<?php $zapis_danych = "zapis.txt"; $delay = 20; //w sekundach $curr_time = time(); $mod_time = @filemtime($zapis_danych); $wynik = $czas - $mod_pliku; echo '<br />Wynik roznicy: ' . $wynik; if($wynik>$delay){ ?>[/php:1:2b6cbf6b64] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 13:00 |