Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z cache'owaniem strony?
Forum PHP.pl > Forum > XML, AJAX > AJAX
bobens_83
Witam.

Mam dosyć spory problem z AJAX'em (tak mi się zdaje, że o niego chodzi)

Tworze prosta galerie zdjec. Do kilku DIV'ów na stronie mam przypiete funkcje do zdarzenia onClick(). Przykładowo na stronie wyswietlaja sie zdjecia z wybranej kategorii (np. kategoria sport, muzyka itd), po wybraniu kategorii na stronie pojawiaja sie zdjecia podlegajace tej kategorii. mam rowniez opcje "Dodaj nowe zdjecie". Po jej uzyciu uploadowany jest (PHP) na serwer obrazek, po czym wywolywana jest funkcja (JavaScript), ktora to funkcja za posrednictwem AJAX'a odswieza liste zdjec w ramach danej kategorii (czyli wyswietla stare obrazki + nowy swiezo uploadowany).

Na localhost wszystko smiga.
Po przerzuceniu na serwer - nie.

Mianowicie po uploadowaniu nowego obrazka, nie jest on appendowany do listy obrazkow danej kategorii. Gdy wyczyszcze cache przegladarki, potem odswieze strone - wtedy nowy obrazek pojawia sie na liscie.

Co tu z tym fantem poczac? Wyglada na to ze costam sie keszuje w przegladarce i jest to przyczyna, ale nie moge przeciez kazac uzytkownikowi po kazdej akcji czyscic cache przegaldarki.

Bylbym szczerze wdzieczny za tipsy, jak rozwiazac problem.

Pozdrawiam. P.
drake88
plik .htaccess

Kod
RewriteEngine on
RewriteCond %{REQUEST_URI} !cache.php [NC]
RewriteCond %{QUERY_STRING} !NOCACHE
RewriteCond %{REQUEST_FILENAME} ^(.+)\.php$
RewriteRule (.*) cache.php?page=$1 [L]


plik cache.php


Kod
<?
$request = $_SERVER['REQUEST_URI'];
$fileName = 'cache/'.md5($request);

if(is_file($fileName))die(file_get_contents($fileName));

$contentToCache = $request.'&NOCACHE';

require('Snoopy.class.php');
$s = new Snoopy();
$s -> fetch('http://'.$_SERVER['SERVER_ADDR'].'/'.$contentToCache);

file_put_contents($fileName, $s -> results);
echo $s -> results;


plik index.php

Kod
<?
sleep(3);
for($i=0; $i<$_GET['p']; $i++){
    echo md5($i).'<br>';
}
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.