ratosluaf
28.11.2012, 16:05:46
Mam skrypt, który pobiera dane z serwera i zapisuje je do obrazka:

Jak zrobić, aby obrazek był odświeżany co 5 minut? Tzn dane na nim, bo niepotrzebne jest częstsze ich pobieranie, a serwera zamulać też szkoda.
abort
28.11.2012, 16:18:16
1. generuj obrazek np. z crontaba.
2. możesz alternatywnie: przy każdym wyświetleniu próbować generować, POD WARUNKIEM, że obrazek NIE BYŁ generowany w ostatnich 300 sekundach.
ratosluaf
28.11.2012, 17:30:05
No dobrze, a jak zrobić to z pomocą crontaba? Jakieś naprowadzenie?
cudny
28.11.2012, 18:19:13
Możesz wywoływać ajaxem generowanie obrazka i podmienianie url w img: www.youredomain.com/img?id=1
IceManSpy
28.11.2012, 18:19:55
Cytat(ratosluaf @ 28.11.2012, 17:30:05 )

No dobrze, a jak zrobić to z pomocą crontaba? Jakieś naprowadzenie?
Google -> crontab
ratosluaf
28.11.2012, 18:31:55
Crontabem posługiwać się umiem, ale od strony skryptu nic nie umiem.
Mam po prostu zrobić wykonywanie pliku status.php co 5 minut, czy jak?
IceManSpy
28.11.2012, 18:34:08
Tak, masz zrobić wykonywanie status.php co 5 min. Tylko podaj pełną ścieżkę do tego pliku.
ratosluaf
28.11.2012, 18:40:05
Hmm, teraz mam inny problem.
Statusy stoją na darmowym hostingu, bez crona.
Na moim płatnym zaś poblokowane są porty, nie można sprawdzać.
Idzie coś na to zaradzić, oprócz kupowania nowego konta w firmie hostingowej?
cudny
28.11.2012, 18:53:22
Czytałeś mój post ?
abort
28.11.2012, 22:53:08
Nie czytasz uważnie, bo podałem Ci tez drugie rozwiązanie. O tyle dobre, że cały problem możesz sprowadzić do jednego ifa.
W wywołaniu procedury generującej plik:
1. pobierasz aktualny czas z zegara systemowego
2. pobierasz czas ostatniej modyfikacji pliku z obrazkiem (ostatnia modyfikacja będzie w Twoim przypadku czasem utworzenia tego obrazka)
3. Sprawdzasz różnicę czasu, generujesz obrazek tylko wtedy, gdy różnica czasu jest za duża (czas musisz sobie arbitralnie przyjąć)
Przydatne funkcje: time, filectime.
Metoda ma zaletę, że możesz przyjąć "czas ważności" obrazka np. na 30 sekund. Z cronem to niemożliwe (nie wykonasz go częściej niż co minutę).
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.