Portál AbcLinuxu, 25. dubna 2024 16:12


Dotaz: Uložení stránek do souboru

8.3.2012 11:31 Dědek
Uložení stránek do souboru
Přečteno: 230×
Odpovědět | Admin
Dobrý den, poradí prosím někdo, jak bych mohl veškerý zpracovaný obsah vygenerovaný v PHP uložit do souboru HTML? Chtěl bych docílit toho, že pokud někdo stránku již zobrazí, uložil bych ji do souboru HTML a pak při dalším požadavku o tuto stránku bych načetl soubor HTML a výrazně tak odhlečil MySQL na serveru. Děkuji za případnou pomoc či jiné vhodnější řešení.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.3.2012 11:53 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: Uložení stránek do souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
To záleží, jak to chceš dělat, jenom nástřel, potřebuješ nějak zjistit, kdy je stránka invalidovaná, nebo ji invalidovat v nějakém intervalu, osobně používám memcache a podle charakteru stránky nastavíš délku života. pak už jenom na začátku koukneš do memcache memcache::get, jestli jsou tam data a pokud ano, tak je vypíšeš a skript ukončíš, pokud ne, tak pustíš ob_start() provedeš script a na konci provedeš ob_get_contents(), výsledek uložíš do memcache memcache::set a provedeš ob_end_flush() a skript ukončíš.
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
8.3.2012 12:00 Dědek
Rozbalit Rozbalit vše Re: Uložení stránek do souboru
Děkuji, a ta memcache, to je nějaký fyzický soubor na serveru?
8.3.2012 12:07 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: Uložení stránek do souboru
Ne to je služba, určitě by šel stejným způsobem použít i soubor, pak by šlo použít i mod_rewrite, ale tam by mohl bý problém s tou invalidací. já to provozuji ve spojení se SEO adresami, funguje to tak, že mám adresy typu http://domena.cz/adresa/stranka.html a ta se směruje na CRM, které vytvoří soubor v adresáři cache se jménem a cestou cache/adresa/stranka.html a pak je i v CRM ivaliduji tím, že soubor z adresáře smažu, pak mám jenom jednoduchý mod_rewrite
  RewriteCond %{REQUEST_METHOD} ^GET$
  RewriteCond %{DOCUMENT_ROOT}/cache/%{REQUEST_URI} -f
  RewriteRule ^(.*)$ /cache/$1 [L,QSA]
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
8.3.2012 12:12 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: Uložení stránek do souboru
jo a ještě jsem zapomněl rule pro index.html, takže komplet je to takto
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond  %{DOCUMENT_ROOT}/cache/index.html -f
  RewriteRule ^$ /cache/index.html [L,QSA]
  RewriteCond %{REQUEST_METHOD} ^GET$
  RewriteCond %{DOCUMENT_ROOT}/cache/%{REQUEST_URI} -f
  RewriteRule ^(.*)$ /cache/$1 [L,QSA]
....
</IfModule>
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
8.3.2012 12:33 Dědek
Rozbalit Rozbalit vše Re: Uložení stránek do souboru
Moc informací, zkusím se tím prokousat a případně ještě napíši. Zatim moc děkuji za vyčerpávající informace ;)
8.3.2012 13:26 Kit
Rozbalit Rozbalit vše Re: Uložení stránek do souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obvykle takovou stránku ukládám do databáze DB4 ještě před prvním požadavkem na čtení (mám to jako součást controlleru). Je to rychlejší a bezpečnější, než pracovat se soubory.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.