Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

5 Stron V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> Cache, [klasa] php5
xxdrago
post
Post #61





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


nospor, czy ta klasa nadawała by się do trzymania danych typu:
Kod
Ram: 36 %
0.00 - 0.00 - 0.00
5 %
Stan dysku 762.40 MB / 15.00 GB


Czy lepiej po prostu za każdym razem do maszyny wysyłać komendę?

Ten post edytował xxdrago 29.12.2011, 10:42:02
Go to the top of the page
+Quote Post
nospor
post
Post #62





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




W cache trzyma się dane, które przez dany okres czasu nie zmieniają się, a ich pozyskiwanie jest zasobożerne. Jeśli te dane takie są, to tak, można je trzymać w cache.
Go to the top of the page
+Quote Post
adam882
post
Post #63





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Mam problem z klasą.

Mianowicie zrobiłem sobie system komentarzy w ajaxie (lokalizacja pliku do odbierania danych: module/komentarz_ajax.php). Dałem w nim również funkcję czyszczenia cache dla podstrony, na której formularz został wywołany.
Po wywołaniu w pliku takiego kodu:
  1. $cache->ClearObjects('statystyki','@stringi');

Tworzy mi pusty katalog w lokalizacji: module/Cache (moja lokalizacja folderu cache to: Cache/ , a nie module/Cache). Nie wiem czy może mieć to znaczenie, ale plik "module/komentarz_ajax.php includuje" config.php (gdzie zadeklarowana jest klasa) - cofając się o folder ( include('../config.php'); )

Ten post edytował adam882 30.12.2011, 08:54:11
Go to the top of the page
+Quote Post
nospor
post
Post #64





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Jeśli jako ścieżkę do katalogu podajesz tak: Cache to jest to ścieżka względne i leci względem aktualnego katalogu. Stąd zapewne masz problem. Musisz więc podawać ścieżkę bezwględną
Go to the top of the page
+Quote Post
adam882
post
Post #65





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


W jaki sposób można to zrobić?
Modyfikując kod:
  1. $cache->AddDriver('fileDriver',new CacheFileDriver('Cache'));

chyba nie mogę dopisać ścieżki do 'Cache' bo wywala mi błąd z tworzeniem katalogu
Go to the top of the page
+Quote Post
nospor
post
Post #66





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Albo podajesz złą ścieżkę
Albo skrypt nie ma prawa tworzenia katalogu tam gdzie podajesz

Albo więc podaj prawidłową ścieżkę
Albo nadaj właściwe prawa na tej ścieżce
Albo utwórz katalog Cache ręcznie wówczas skrypt nie będzie musiał go tworzyć
Go to the top of the page
+Quote Post
adam882
post
Post #67





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Wydaje mi się, że problem leży tylko i wyłącznie w ścieżce - po prostu skrypt jakoś nie może się cofnąć do poprzedniego katalogu, gdzie jest folder z Cache i traktuje folder "module" jako folder główny.
Problem dotyczy tylko formularza z ajaxem. W jaki sposób można podać ścieżkę do cache?
Go to the top of the page
+Quote Post
nospor
post
Post #68





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Przecież ci napisałem: masz podać ścieżkę bezwzględną a nie względną. Gdy podasz ścieżkę bezwzględną, to problemu ze ścieżką na 100% nie bedzie.
Go to the top of the page
+Quote Post
adam882
post
Post #69





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


ok, ale w którym miejscu się to ustawia ? (bo gdzie próbuję to ustawić, to nie działa) W "example" nie widzę nic o ustawaniu ścieżki. Wybacz, że tak Cię męczę ..

Ten post edytował adam882 30.12.2011, 09:35:01
Go to the top of the page
+Quote Post
nospor
post
Post #70





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No tu to się ustawia:
$cache->AddDriver('fileDriver',new CacheFileDriver('Cache'));

Chcesz pełną ściezke to piszesz pełną sciezke:
$cache->AddDriver('fileDriver',new CacheFileDriver('pełnasciezkadotakalogu/Cache'));
Go to the top of the page
+Quote Post
adam882
post
Post #71





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Robiłem tak i coś takiego mi pokazało:

Fatal error: Uncaught exception 'CacheException' with message 'Can't create file/catalog: http://localhost/strony/skrypt/Cache' in C:\xampp\htdocs\strony\skrypt\class\drivers\CacheFileDriver.class.php on line 41

CacheException: Can't create file/catalog: http://localhost/strony/skrypt/Cache in C:\xampp\htdocs\strony\skrypt\class\drivers\CacheFileDriver.class.php on line 41

Czy może chodzi tutaj o podanie ścieżki na serwerze? (czy jak to się nazywa)

Ten post edytował adam882 30.12.2011, 09:50:15
Go to the top of the page
+Quote Post
nospor
post
Post #72





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Czy może chodzi tutaj o podanie ścieżki na serwerze? (czy jak to się nazywa)
rety.... tak, chodzi właśnie o ścieżke na serwerze. To co ty podajesz to jest URL...
Go to the top of the page
+Quote Post
adam882
post
Post #73





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


Wybacz, ciągle się uczę. Dzięki
Go to the top of the page
+Quote Post
verio
post
Post #74





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 23.01.2007
Skąd: Wołomin

Ostrzeżenie: (0%)
-----


Czy można liczyć na jakieś wskazówki jak podłączyć tą klasę do OPT v2? (IMG:style_emoticons/default/rolleyes.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #75





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




1) Nie wiem jak wygląda OPT
2) Cache za bardzo z OPT nie ma nic wspólnego. cache generuje się przed skorzystaniem do OPT. Do OPT mogą trafiać dane zarówno z bazy jak i z cache.
Go to the top of the page
+Quote Post
pitbull82
post
Post #76





Grupa: Zarejestrowani
Postów: 167
Pomógł: 0
Dołączył: 30.04.2004
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Tworzę sobie swoją, znacznie prostszą klasę do cachowania, patrzyłem jak to zrobiłeś. Czy w CacheFileDriver w linii 62 zamiast

  1. if ($objectValue === false || is_null($objectValue))

nie powinno być czasem
  1. if ($objectValueS === false || is_null($objectValueS))

?

Ten post edytował pitbull82 11.01.2012, 19:28:51
Go to the top of the page
+Quote Post
nospor
post
Post #77





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Ano powinno (IMG:style_emoticons/default/smile.gif)
Naszczeście serialize rzadko kiedy się nie udaje, więc błąd nie jest straszny, ale masz racje, jest (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
pitbull82
post
Post #78





Grupa: Zarejestrowani
Postów: 167
Pomógł: 0
Dołączył: 30.04.2004
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


To jeszcze na wszelki wypadek linia 224

  1. $res = rmdir($fileInfo->getPathname());

tutaj nie powinno być wywołanie rekurencyjne? Bo jeśli w podkatalogu będą pliki, to nie usunie katalogu.

Generalnie ładna praca, którą dosyć ciężko szybko przenalizować, ale najważniejsze że działa i jest nią zainteresowanie co widać po tym wątku (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #79





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Hehe, nie, tym razem wszystko jest ok.
Spójrz pare linijek wyżej:
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dirName), RecursiveIteratorIterator::CHILD_FIRST);
rekurencję mam tu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
pitbull82
post
Post #80





Grupa: Zarejestrowani
Postów: 167
Pomógł: 0
Dołączył: 30.04.2004
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Bez bicia przyznaję się, że nie bawiłem się jeszcze nigdy iteratorami, więc nie domyśliłem się że ten zapis załatwia rekurencję (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

5 Stron V  « < 2 3 4 5 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.10.2025 - 02:00