Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykonywanie skryptów na serwerze - odliczanie czasu
Forum PHP.pl > Forum > PHP
Logoandre
Jestem początkującym w php a potrzebuje stworzyć skrypty, które będą działały na serwerze, zupełnie niezależnie od przeglądających.

np. Jakiś użytkownik zarejestrował się na stronie, nie używa swojego konta od miesięcy. Jak napisać skrypt który po odliczeniu danego czasu wykasuje (ew. wyśle do niego przed tym maila)
automatycznie użytkownika? I jak w ogóle wywoływać automatycznie taki skrypt? Przecież skrypty pomimo że wykonują się na serwerze, to są wywoływane (włączane) przez przeglądających.
A jak zrobić aby co jakiś czas, serwer zmieniał dane w bazie danych (też automatycznie)? (<MySQL)

Z góry dzięki.
tehaha
musisz użyć tutaj crona, który cyklicznie będzie sprawdzał czy jakiś użytkownik nie wykazał aktywności przez określony czas, czyli robisz zwykły skrypt, który wykona to działanie i w panelu ustawiasz jak często ten skrypt ma być wykonywany

//Edit

dokładniej mówiąc to nie zawsze w panelu bo np. na home.pl wystarczy że na ftp wrzucisz odpowiednio nazwany plik i już wystarczy żeby był cyklicznie wywoływany, ale to zależy od tego gdzie masz serwer najczęściej jednak ustawia się to w panelu
bim2
Ogólnie mówiąc, napisz skrpyt który wykasuje wszystkich użytkowników których "last_login > 30 days" lub który wyśle maila. Później ustawiasz sobie crona żeby np co 1 dzień (najlepiej w godzinach nocnych) uruchamiał skrypt. Nie ma sensu tego uruchamiac co 1 minute, jeśli chcesz tylko "wyrzucać śmieci" z bazy danych.
Logoandre
Wielkie dzięki.

A wiecie może jak go uruchomić w Apachu (z phpMyAdmin)

Pozdrawiam winksmiley.jpg
bim2
Na windowsie musisz pobrać jakby emulator crona, jeśli masz serwer jakiś kupiony na linuxie to musisz mieć dostęp do takiej opcji w panelu lub poprzez konsole to zrób. Nie wszyscy usługodawcy to udostępniają.
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.