Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[BC3] [php] cache je pagina!

Pagina: 1
Acties:
  • 124 views sinds 30-01-2008
  • Reageer

  • BC3 Victim
  • Registratie: Juli 2001
  • Laatst online: 29-09-2006
hey,
ik heb een stukje code gemaakt om je pagina te cachen, dit kun je bijv onderin elke pagina zetten die je hebt,
hij cached alle pagina''s maximaal 1 keer per dag, dus je hebt geen server overload ofzo...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  //checken of hij wel of niet moet cachen
  $nutime = time();
  $filefull = "$DOCUMENT_ROOT/cache$SCRIPT_NAME.htm";
  $filetime = filectime($filefull);
  $filetime = $filetime + 86400;
  if ($nutime>$filetime) {
  
    // caching
    $cachedate = date ("d-m-Y - H.i");
    $cacheContents = eregi_replace("<a ([^[:space:]href]*)href=([\"']?)([^>[:space:]\"]*)([\"']?)([^>]*)>","<a href=\"cache$PHP_SELF.htm#\">", $Contents);
    $cacheContents = str_replace("<!-- cachemelding -->","<div class=big><b>De SQL server ligt tijdelijk plat.</b><br><div class=med>[img]\"i/blokje2.gif\"[/img] Deze pagina is het laatst gecached op $cachedate.</div><br><br>",$cacheContents);

    $file = fopen("cache/$PHP_SELF.htm" , "w");
    fwrite($file, $cacheContents);
    fclose($file);
  }

de bestanden worden dus in een directory /cache/ gezet, die moet je ff aanmaken en de attributes goed zetten..
oja, ik gebruik multiviews, als je dat niet gebruikt en met uitgangen werkt moet je voor het wegschrijven ff de uitgang van je script (.php bijvoorbeeld) vervangen door .htm en .htm uit de ene regel halen.

ook zie je dat alle links worden vervangen door een link naar #,
maar als je bijvoorbeeld al je menu items wilt linken naar de gecachede file dan moet daar dus nog een aparte regex voor komen,
als iemand ons daarmee op weg kan helpen, graag :)

De username van de oorspronkelijke plaatser van deze posting is bij Big Crash 3 eind mei 2001 verloren gegaan. Om toch de posting zelf terug te kunnen plaatsen is de user BC3 Victim in het leven geroepen


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 25-11 22:57

dusty

Celebrate Life!

code:
1
2
$filetime = filectime($filefull);  
$filetime = $filetime + 86400;

Lijkt mij beter om het volgende te doen :
code:
1
$filetime = filectime($filefull) + 86400;

:+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 27-11 18:10
Nitpicking is an art ;)

Maar je hebt gelijk, Dusty ;)

Maar ja, waarom zou je dan niet meteen:

if (time() > filectime($filefull)+ 24*3600) {

doen? :)

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 25-11 22:57

dusty

Celebrate Life!

Op donderdag 10 mei 2001 12:27 schreef bartvb het volgende:
Maar ja, waarom zou je dan niet meteen:

if (time() > filectime($filefull)+ 24*3600) {

doen? :)
omdat het volgende nog beter is:
code:
1
if (time() > filectime($filefull)+ 86400) {

Anders moet de computer weer 24*3600 uitrekenen :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 27-11 18:10
*proest*
Haha, ok.. Ik wou het ff wat leesbaarder maken. Weet zo uit m''n hoofd niet hoeveel 86400 seconde is ;)

Pfff, heb hier ff niks meer tegen in te brengen ;) Daarom maar weer ff verder met leren voor dat (&#@*(@#& statistiek tentamen dan ik over 5400 seconde heb..

  • BC3 Victim
  • Registratie: Juli 2001
  • Laatst online: 29-09-2006
Wat is het nut om je pagina te cachen???

De username van de oorspronkelijke plaatser van deze posting is bij Big Crash 3 eind mei 2001 verloren gegaan. Om toch de posting zelf terug te kunnen plaatsen is de user BC3 Victim in het leven geroepen


Verwijderd

Op donderdag 10 mei 2001 12:43 schreef et36s het volgende:
Wat is het nut om je pagina te cachen???
Als je gegevens waarop je je pagina''s baseert slechts relatief weinig veranderen, kan je de server belasting beperken door een gecachete pagina door te geven i.p.v. voor iedere aanvraag de pagina opnieuw dynamisch te laten opbouwen.

HTH :)

  • BC3 Victim
  • Registratie: Juli 2001
  • Laatst online: 29-09-2006
Thnx Mrx :)

De username van de oorspronkelijke plaatser van deze posting is bij Big Crash 3 eind mei 2001 verloren gegaan. Om toch de posting zelf terug te kunnen plaatsen is de user BC3 Victim in het leven geroepen


  • BC3 Victim
  • Registratie: Juli 2001
  • Laatst online: 29-09-2006
Op donderdag 10 mei 2001 12:48 schreef MrX het volgende:

[..]

Als je gegevens waarop je je pagina''s baseert slechts relatief weinig veranderen, kan je de server belasting beperken door een gecachete pagina door te geven i.p.v. voor iedere aanvraag de pagina opnieuw dynamisch te laten opbouwen.

HTH :)
daar gebruik ik het eigenlijk niet voor, maar dat is natuurlijk ook een optie...

ik gebruik het voor het geval dat de database het een keertje tijdelijk niet doet om een of andere reden, dan redirect hij naar de gecachete site.....

De username van de oorspronkelijke plaatser van deze posting is bij Big Crash 3 eind mei 2001 verloren gegaan. Om toch de posting zelf terug te kunnen plaatsen is de user BC3 Victim in het leven geroepen


Verwijderd

Op donderdag 10 mei 2001 13:01 schreef Tangletje het volgende:

[..]

daar gebruik ik het eigenlijk niet voor, maar dat is natuurlijk ook een optie...

ik gebruik het voor het geval dat de database het een keertje tijdelijk niet doet om een of andere reden, dan redirect hij naar de gecachete site.....
Idd, availability kan ook verhoogd worden zo.
edit:
Typo

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 25-11 22:57

dusty

Celebrate Life!

Op donderdag 10 mei 2001 13:20 schreef MrX het volgende:
Idd, availebility kan ook verhoogd worden zo.
Alles beter dan een #55 :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 29-11 15:21
Op donderdag 10 mei 2001 13:22 schreef dusty het volgende:

[..]

Alles beter dan een #55 :+
Een forum cachen gaat alleen iets complexer :+

Verwijderd

Op donderdag 10 mei 2001 13:22 schreef dusty het volgende:

[..]

Alles beter dan een #55 :+
Dusty wordt een beetje :? wat het concept forum betreft :+

  • BC3 Victim
  • Registratie: Juli 2001
  • Laatst online: 29-09-2006
lol :)
een forum cachen zou wel erg overdreven zijn lijkt me...
beetje alle topic pagina''s gaan cachen :D
maar ja, als je genoeg ruimte hebt: waarom niet :)
de topics van de afgelopen week/paar dagen cachen kan altijd
en dan delete je de oudere gewoon steeds.....

hmm iemand nog over die regex gedacht om urls te veranderen?

De username van de oorspronkelijke plaatser van deze posting is bij Big Crash 3 eind mei 2001 verloren gegaan. Om toch de posting zelf terug te kunnen plaatsen is de user BC3 Victim in het leven geroepen


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 25-11 22:57

dusty

Celebrate Life!

Op donderdag 10 mei 2001 14:05 schreef joska het volgende:
Dusty wordt een beetje :? wat het concept forum betreft :+
Neuh gewoon ziek van de melding #55 *lol*

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1