Skocz do zawartości

[smarty]czyszczenie cache


piernik

Rekomendowane odpowiedzi

Zdecydoałem się używać szablonów smarty.

Mam jedno pytanko odnośnie cyszczenia kaszu.

Mianowicie. W dokumentacji smarty jest takie coś:

// clear all caches with 'sports|basketball' as the first two cache_id groups

$smarty->clear_cache(null,'sports|basketball');

// clear all caches with "sports" as the first cache_id group. This would

// include "sports|basketball", or "sports|(anything)|(anything)|(anything)|..."

$smarty->clear_cache(null,'sports');

// clear the foo.tpl cache file with "sports|basketball" as the cache_id

$smarty->clear_cache('foo.tpl','sports|basketball');

Ale ja chciałbym usunąć wszystkie pliki które spełniają taki warunek:

$smarty->clear_cache('foo.tpl','|basketball');

czyli wszystkie pliki kaszu zbudowane na podstawie pliku foot.tpl z dowolnym pierwszym identyfikatorem i konkretnym drugim i dowolnymi następnymi.

Jak widzę w smarty nie jest to możliwe, bo buduje konkretną nazwę pliku.

Czy wie ktoś czy istnieje jakaś "łata" na smarty umożliwiająca coś takiego?

Polskie Szlaki.pl - społecznościowy portal wycieczek po Polsce
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 lata później...

Witam,

Mam podobny problem jak user piernik.

Tworze bufory podając rożne identyfikatory.

2^0^1^%%68^68A^68A9F1EE%%pro_.tpl

2^1^2^%%68^68A^68A9F1EE%%pro_.tpl

2^0^6^%%68^68A^68A9F1EE%%pro_.tpl

itd

gdzie pierwszy cyfra to id usera , druga to nr strony trzecia....

Chciałbym móc skasować wszystkie pliki tpl majace id usera 2 tj wszystko 2^*^*%%.... pro_.tpl

Proszę o poradę, o pomoc.

ps plik tworze składnią $smarty->fetch('pro_.tpl',$_GET['id'].'|'.$_GET['page'].'|'.$_GET['im']);

Odnośnik do komentarza
Udostępnij na innych stronach

Skoro smarty nie udostępnia takiej funkcjonalności należy oprogramować ją samemu w php:

- czytasz zawartość katalogu cache funkcją opendir lub przy pomocy litelatora DirectoryIterator z SPL;

- za pomocą funkcji preg_match() i odpowiedniego wyrażenia regularnego dopasowujesz nazwę pliku do konkretnego wzorca;

- jeśli się nazwa zgadza z wzorcem kasujesz plik funkcją unlink();

;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Jak chcesz to tu masz prosty skrypt aby czyścić cache:

		$wyczysc_cache_dir = './cache';
	foreach(scandir($wyczysc_cache_dir) as $file) {
		if($file != '.' && $file != '..') {
		$usun_plik = $wyczysc_cache_dir.'/'.$file;
		unlink($usun_plik);
		}
	}

Michał Kryński
Zapraszam na moje forum akwarystyczne  ;-) 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności