Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana obrazu o danej godzinie
Forum PHP.pl > Forum > Przedszkole
dela
Chciałbym zrobić, żeby każdego dnia o godzinie 24:00 zmieniał się obrazek, który znajduję się w bazie danych(MySQL).
wNogachSpisz
Co to znaczy "zmieniał"?
dela
Np. Jest poniedziałek godzina 00:00 z bazy danych wybiera obraz, który ma id 2. Jest wtorek godzina 00:00 z bazy danych wybiera obraz, który ma id 3....
wNogachSpisz
Po co trzymać obrazek w bazie danych? Łatwiej w pliku.
toffiak
Cron.
Uruchamia skrypt o podanej godzinie którego zadaniem jest zmiana linku obrazka w bazie.
dela
hmm... obrazki są dodawane do bazy danych za pomocą cmsa(użytkownik chce mieć możliwość usunięcia lub zmiany nazwy danego obrazka) ogólnie obrazki znajdują się na dysku:) a w bazie jest przechowywana tylko nazwa i dodatkowy opis.

Jeszcze raz może wytłumaczę tym razem bardzo dokładnie:)
Mam tzw. słowo dnia(w formie png) chciałbym aby każdego dnia było inne. Chciałbym też żeby zmiana obrazka następowała o 00:00 każdego dnia.
!*!
toffiak już napisał, cron. Uruchamiasz codziennie o północy i pobierasz za każdym razem w zależności od dnia tygodnia inną nazwę pliku. Sposobów na uzyskanie tego efektu jest sporo od tablicy z nazwami pliku, po umieszczenie tego wszystkiego w bazie.
CuteOne
1. Pobierasz ostatnio wyświetlanego obrazka (jego id)
2. Zmieniasz jego status wyświetlania
3. Losujesz kolejny obrazek
4. Zmieniasz jego status wyświetlania
roghatt
a nie lepiej pobrać datę i w zależności od dnia tygodnia przypisać odpowiedni obrazek? wink.gif oczywiście jeśli chcesz konkretny obrazek a nie losowy.
dela
obrazki ma pobierac po id czyli poniedzialek id 1 sroda id 3 kolejny poniedzialek 8 wtorek 9 itd.
djgarsi
Można do tego wykorzystać date("z") <- Dzień roku (Zaczynając od 0). Wtedy masz id, po którym zmienisz obrazek.
muk4
w pliku trzymasz aktualny numer obrazka i datę jego ustawienia w formacie unixowym np:
Kod
1;1345465697


teraz w skrypcie gdzie pobierasz id obrazka:
  1. function getImageId()
  2. {
  3. $info = explode(';', file_get_contents('plik.txt'));
  4. if(time() > $info[1]+86400)
  5. {
  6. // aktualizujemy id obrazka i zapisujemy info do pliku
  7. $id = $info[0] + 1;
  8. file_put_contents('plik.txt', $id . ';' . time());
  9. return $id;
  10. }
  11. else
  12. {
  13. // nic nie trzeba aktualizować - zwraca id z pliku
  14. return $info[0];
  15. }
  16. }


Pisane z głowy, nie testowane.
wNogachSpisz
A ile jest obrazków do wyboru?
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.