Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Działanie skryptu co jakiś czas
Forum PHP.pl > Forum > Przedszkole
Skr3czu
Witam,

Mam skrypt który pobiera dane z innych stron i ten skrypt z deka mi zamula, a jak zrobić, aby pobierał np. tylko raz dzienie informacje ?

P.S bez użycia cronu...

Pozdrawiam.
phpion
Utwórz sobie plik np. ostatnia_data.txt. W pliku tym będziesz przetrzymywał datę ostatniego uruchomienia skryptu. Na każdej podstronie serwisu includujesz sobie plik np. wykonaj_magiczny_plik.php, w którym to sprawdzasz czy zawartość pliku ostatnia_data.txt różna jest od aktualnej daty. Jeśli tak to wywołujesz tą swoją funkcję po czym do ostatnia_data.txt wpisujesz aktualną datę. Dzięki temu skrypt wykona się tylko raz przy pierwszej wizycie dowolnego uzytkownika każdego dnia.
Skr3czu
Za bardzo nie wiem jak to zrobić, możesz mi to najakimś przykłądzie wytłumaczyć...
phpion
Wytłumaczyłem chyba dość jasno. Popróbuj i w razie kłopotów pisz na forum. Na gotowca nie licz.
Skr3czu
Ale jak mam się za to zabrać smile.gif ?

Cytat
wykonaj_magiczny_plik.php


Co mam w tym pliku dać ?
Shili
Datę. Na początek możesz umieścić pusty plik, a przy każdym wejściu porónujesz daty: wygenerowaną przez wejście użytkownika na stronę i tą z pliku.

(podczas pierwszej wizyty będą różne, więc automatycznie doda Ci się aktualna data już przy pierwszym wejściu)

edit
Przepraszam, zaspana jestem, źle zrozumiałam.
Naucz sie jak operować na plikach.
W pliku umieszczasz funkcję, która odczyta Ci plik, pobierze jego zawartość, porówna z datą serwera, gdy daty są różne zapisze i zamknie plik.
Skr3czu
A można prosić o jakiś przykłąd ?
phpion
A można prosić o to, co próbowałeś samemu napisać?
Skr3czu
No własnie nie wiem jak sie za to zabrać ;/
Wodzu
Szkic algorytmu:
Kod
- $x <- aktualny znacznik czasu: time()
- $y <- czas ostatniej modyfikacji twojego pliku: mtime() - o ile plik istnieje
- sprawdź, czy $x-$y (czas od ostatniego uruchomienia skryptu) jest wystarczająco duże:
  * T: odpal mulący skrypt, zapisz dane zwrócone przez niego w pliku
  * N: odczytaj plik
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.