Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP]Php + Ajax
Forum PHP.pl > Forum > Przedszkole
elektro232
Witam

mam taki sobie oto problem:

istnieje skrypt obraz.php który generuje obrazki do cachu i kod na stronę:

<img src='cache/live_POLSL-1.png' width='590' height='300' title='live_POLSL' alt='live_POLSL' class='prompt'>
<img src='cache/live_PLIX-1.png' width='590' height='300' title='live_PLIX' alt='live_PLIX' class='prompt'>
<img src='cache/live_ATM-1.png' width='590' height='300' title='live_ATM' alt='live_ATM' class='prompt'>
<img src='cache/live_GTS-1.png' width='590' height='300' title='live_GTS' alt='live_GTS' class='prompt'>
<img src='cache/live_DECIX-1.png' width='590' height='300' title='live_DECIX' alt='live_DECIX' class='prompt'>

Całość pięknie wyświetla obrazki.
Ale...
muszę zrobić tak żeby ten skrypt (obraz.php) wykonywał się co 5 sekund generując nowe obrazki (o tej samej nazwie co poprzednio) i jeszcze podmieniał je na stronie za pomocą ajaxa tak żeby strona się nie odświeżała ale obrazki się wymieniały.

Za wszelkie sugestie z góry serdecznie dziękuję.

P.S. Nie szukam gotowca, chcę dostać na tyle jasne wskazówki bym sobie mógł z tym poradzić.
vokiel
Podmienianie na stronie bez przeładowania - ajax, proste żądanie get
Tworzenie nowych - 2 rozwiązania:
- skrypt na stronie odpalany w cron co zadany interwał
- skrypt wywoływany przy tych ajaxowych odświeżaniach

Wybór opcji zależy od tego czego oczekujesz. I jak wygląda serwis itd.

Np. Są to statystyki obciążenia serwera, to nie potrzebujesz, aby każda osoba odwiedzająca stronę powodowała ich odświeżenie - zatem cron będzie lepszym rozwiązaniem. Jeśli natomiast te obrazki dotyczą wybranego użytkownika, aktualnie przebywającego na stronie, i są dla niego unikalne, wtedy pozostaje druga opcja.
#luq
Aby cokolwiek się nie cache`owało (obojętnie czy to obrazek, plik js czy css czy coś innego) ogólnie musi być inny request po ten element, a można to otrzymać dodając do ścieżki jakiegoś GET`a, a żeby się nie powtórzył daje się ciąg liczb uzyskanych pseudolosowo.
elektro232
Dziękuję za tak szybką reakcję.

1. Musi się cachować bo musi (inne aplikacje archiwizują te obrazki)
java script:add_smilie(":P","smid_6")
2. Cron odpada bo ciężko w nim zrobić interwał 5sekund. Dodatkowo obrazki mają się generować tylko wtedy kiedy ktos tą stroną ogląda.

Problem dość zawiły bo jest to /ma być element potężnego systemu zarządzania siecią.Skrypt musi działać tak jak napisałem albo:
Cytat
mam po premii tongue.gif
vokiel
Cytat(elektro232 @ 24.08.2010, 19:28:01 ) *
mam po premii :-p

Czyli jeśli rozwiążemy Ci ten problem to się premią dzielisz? :-p

Jeśli cron odpada, to pozostaje ajax, który co te 5 sec odpytuje skrypt cachujący po stronie serwera. Tyle, że z tym trzeba uważać żeby nie zajeździć serwera. Możesz mieć przecież na raz 1k użytkowników!
Proponowane przeze mnie rozwiązania:
- skrypt tworzący ten cache musi sobie zapisywać, że aktualnie ten cache robi, tak aby mógł ignorować nadmiarowe zapytania
- wyświetlając stronę użytkownikom, sprawdzamy ilu mamy on-line, od których otrzymamy zapytania do odświeżania cache, i pozostałym nie włączamy skryptu. Oczywiście należy przy tym uważać, żeby nie było tak, że nie zostanie nikt aktywny. Ale np ograniczenie ilość instancji skryptu do np 100 daje szanse, że nie zabraknie, a przy tym nie będzie tak obciążać serwera pustymi requestami
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.