Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie danych co np. 5 minut
Forum PHP.pl > Forum > PHP
ratosluaf
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
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
No dobrze, a jak zrobić to z pomocą crontaba? Jakieś naprowadzenie?
cudny
Możesz wywoływać ajaxem generowanie obrazka i podmienianie url w img: www.youredomain.com/img?id=1
IceManSpy
Cytat(ratosluaf @ 28.11.2012, 17:30:05 ) *
No dobrze, a jak zrobić to z pomocą crontaba? Jakieś naprowadzenie?

Google -> crontab
ratosluaf
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
Tak, masz zrobić wykonywanie status.php co 5 min. Tylko podaj pełną ścieżkę do tego pliku.
ratosluaf
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
Czytałeś mój post ?
abort
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.