[PHP] Pagina's cachen op de server *

Pagina: 1
Acties:

  • Sen
  • Registratie: Oktober 2001
  • Laatst online: 01-04 05:55
ik heb een php pagina waar ik verschillende queries uitvoer. Helaas kan mijn database dat niet helemaal aan. :(

Alleen verandert er alleen iets op de pagina als ik iets verander. Dus mijn vraag is kan ik de php pagina automatisch opslaan als gewoon html bestand en die dan serveren.

  • djack
  • Registratie: September 2002
  • Laatst online: 11-11-2024
leg da nu nog eens uit .... ?

Because Great minds Think alike


  • Sen
  • Registratie: Oktober 2001
  • Laatst online: 01-04 05:55
Oeps foutje in topic titel :)

Maar ik wil dus van een php pagina met alle variablen en queries. Een html pagina maken.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

je output opvangen in een variabele en deze naar een html-bestandje schrijven..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
zeker wel, gewoon ff kijken naar command line php draaien en dan de output hiervan redirecten naar een html bestand. Zo iets dus : php.exe query1.php > query1.html

Het enige kleine nadeel is dat je het dynamische element van php kwijt bent en dat ik persoonlijk denk dat je voor dit soort dingen meer hebt aan xml. Een bestand data en een bestand layout

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 29-08 03:21

.oisyn

Moderator Devschuur®

Demotivational Speaker

je kunt natuurlijk ook een soort caching systeem bouwen.

je hebt 2 timestamps: die van de huidige html output en die van de laatste verandering. Is de verandering nieuwer dan genereer je een nieuwe html output en druk je daar de huidige timestamp op, zo niet dan laat je gewoon de huidige html output zien :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

lijkt me met deze tips en een beetje nadenken wel uit te komen

edit:
op verzoek van oisyn weer open :P

ook topictitel ff aangepast. zo goed?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Misschien heb je hier wat aan. Heb ik een tijdje geleden gemaakt.
Cache expire tijd kun je natuurlijk aanpassen.
Als je dit included in elke pagina die je wilt cachen dan heb je een instant cache.
Uiteraard moet de cachedir ook bestaan.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?
function fileCache()  {

  global $REQUEST_URI;
  global $HTTP_GET_VARS;
  global $HTTP_SERVER_VARS;
  $mustcache = $HTTP_GET_VARS["cache"];
  $currentTime = time();
  $cachedir="../data/cache";
  if($mustcache != "no")  {
    $cacheFile = MD5($HTTP_SERVER_VARS["REQUEST_URI"]);
    $cacheEntryInfo = stat("$cachedir/$cacheFile");
    if(($cacheEntryInfo[10] == null) || ($cacheEntryInfo[10] < $currentTime - 600)
)  {
      if(strstr($HTTP_SERVER_VARS["REQUEST_URI"], "?"))  {
        $fileToCache = fopen("http://".$HTTP_SERVER_VARS["SERVER_NAME"].$HTTP_SERV
ER_VARS["REQUEST_URI"]."&cache=no", "r");
        }
      else  {
        $fileToCache = fopen("http://".$HTTP_SERVER_VARS["SERVER_NAME"].$HTTP_SERV
ER_VARS["REQUEST_URI"]."?cache=no", "r");
        }
      $cacheHTML = "";
      while(!feof($fileToCache))  {
        $cacheHTML .= fgets($fileToCache, 1024);
        }
        $cacheHTML .= "<!-- CACHE: ".$currentTime."-->";
      fclose($fileToCache);
      $newCacheEntry = fopen("$cachedir/$cacheFile", "w+");
      fwrite($newCacheEntry, $cacheHTML);
      fclose($newCacheEntry);
      }
    else  {
      readfile("$cachedir/$cacheFile");
      exit;
      }
    }
  }
fileCache();
?>

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

....en uiteraard moet je niet vergeten dat die globals die de jaar gebruikt niet allemaal meer zo heel erg bestaan in de latere PHP versies ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
Je zou eens goed kunnen kijken naar PEAR::Cache dat is hiet speciaal voor gemaakt. Het scheelt je zelf een hoop moeite met uitozken hoe alle verschillende mogelijkheden exact werken.

Verwijderd

drm schreef op 16 oktober 2002 @ 12:17:
....en uiteraard moet je niet vergeten dat die globals die de jaar gebruikt niet allemaal meer zo heel erg bestaan in de latere PHP versies ;)
Klopt maar daar zijn wel alternatieven voor in het leven geroepen dus misschien moet het een tikje omgeschreven worden.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

kun je bij iedere wijziging niet een dump naar XML maken? En de XML file gebruiken op je page. Scheelt je bergen DB-I/O.

Dit is geburikelijk voor drukbezochte frontpage zoals bijvoorbeeld T.NET.

Verwijderd

Beste Sen,

Je geeft aan dat je database het allemaal niet meer aan kan, bedoel je hiermee
dat de load op je databasesysteem te hoog wordt of dat het erg lang duurt voordat de pagina bij de client verschijnt. De beste oplossing zou uiteraard zijn om je systeem te upgraden. :7 Dit is absoluut noodzakelijk als de databaseserver het allemaal niet trekt.

Het vervangen van je php-bestanden door html-bestanden kan natuurlijk een oplossing geven maar vereist wel wat handwerk. Wanneer je over je eigen server beschikt zou je eens naar oplossingen kunnen kijken als op:

http://afterburner.bware.it/

Ik hoop dat je hier wat aan hebt.
Maarten Verheijen

  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 26-08 16:09
Ben eigenlijk wel benieuwd om wat voor een pagina het gaat. Je moet over het algemeen nogal rare dingen doen om er voor te zorgen dat je DB engine het allemaal niet meer trekt :D
Wat voor een site/pagina's gaat het om?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Er zijn al veel cache routines geschreven. Zoals eerder genoemd de gene van pear.

Maar je kan ook eens hier kijken

Programmer - an organism that turns coffee into software.


  • Sen
  • Registratie: Oktober 2001
  • Laatst online: 01-04 05:55
Verwijderd schreef op 19 oktober 2002 @ 09:55:
Beste Sen,

Je geeft aan dat je database het allemaal niet meer aan kan, bedoel je hiermee
dat de load op je databasesysteem te hoog wordt of dat het erg lang duurt voordat de pagina bij de client verschijnt. De beste oplossing zou uiteraard zijn om je systeem te upgraden. :7 Dit is absoluut noodzakelijk als de databaseserver het allemaal niet trekt.

Het vervangen van je php-bestanden door html-bestanden kan natuurlijk een oplossing geven maar vereist wel wat handwerk. Wanneer je over je eigen server beschikt zou je eens naar oplossingen kunnen kijken als op:

http://afterburner.bware.it/

Ik hoop dat je hier wat aan hebt.
Maarten Verheijen
Helaas is het niet mijn eigen server. (Nou ja gelukkig eigenlijk)
bartvb schreef op 19 oktober 2002 @ 11:26:
Ben eigenlijk wel benieuwd om wat voor een pagina het gaat. Je moet over het algemeen nogal rare dingen doen om er voor te zorgen dat je DB engine het allemaal niet meer trekt :D
Wat voor een site/pagina's gaat het om?
Url mag ik hier niet noemen. Maar het gaat om een database met ongeveer 60000 records en die wordt elke minuut ongeveer 100 keer opgevraagd.

Bedankt voor de reacties. Ik heb er al 1 die werkt denk ik.
Pagina: 1