PHP gegenereerde pagina output naar HTML file
Kan ik bijvoorbeeld iedere minuut deze PHP pagina laten genereren en er dan een HTML pagina van laten maken, zodat de gebruikers de HTML pagina ophalen en die niet bij iedere request van de pagina alles gegenereerd moet worden??
Dennis
Ja hoor. Je kan gewoon output opvangen en schrijven naar een html bestand.
(elke minuut is wel echt vaak, dat wordt misschien extra duur qua traffic)
Sterker nog, je dataverkeer zal er minder op worden, doordat er niks meer verwerkt hoeft te worden, en het gewoon plain tekst is wat wordt verstuurd.
Wat Olaf zei, even je provider vragen dus.
wat is een cron job??
cron job zorgt ervoor dat je een script op een bepaalde tijd kan uitvoeren zonder dat jij die hoeft aan te roepen. Dus wil je een iedere dag om 15.00 uur een backup maken van je SQL server terwijl jij dan nog op je fietsje van school naar huis fietst, dan kan dat met een cronjob ;)
coooooooooooooooooooooooooooooooooooooool... ;)
Klinkt goed, hoe doek dat??
ja dan moet je een CRON job uitvoeren, vraag je provider of het mogelijk is.
(elke minuut is wel echt vaak, dat wordt misschien extra duur qua traffic)
Ben me eigen provider :-|
Het is een XML bestand wat op kan lopen tot wel meer dan 300kb wat PHP lokaal inleest, dit kost aardig wat processortijd (blijkt), als ik hem vanmorgen opvroeg (62 files) duurde het een aantal (3 à 5) seconde.
Als zou hij tien keer opgevraagd worden zou dit alleen maar toe nemen.
Dus zoek ik daar een oplossing voor………..
Gewijzigd op 24/01/2005 20:34:00 door Dennis
je hebt gelijk dit gebeurt lokaal dus geen traffic...
@Dennis,
een minuut is best vaak, dat is bijna realtime je zou alleen de server overbelasten...beter is even een checksum opvragen en als deze veranderd is, het script uitvoeren.
php kan volgens mij niet in cronjobs, dacht alleen perl of gewoon exe ofzo :P, maareh, ik heb wel crons op me site (awstats ^^) maar hoe doe je dat eigenlijk op je eigen lokale servertje op je thuispc?
Kan iemand me daar dan een klein beetje mee op weg helpen?
En om te chekken op verandering, moet je de file ook helemaal doorlezen, dus kost het ook netzoveel tijd.
Dus misschien laat ik hem wel om de 3 minuten helemaal genereren en in de nacht om de 5 min ofzo
Dennis
nee maar onder windows heb je taakplanner oid
Gewijzigd op 24/01/2005 22:36:00 door Legolas
Jaap:
Ja hoor. Je kan gewoon output opvangen en schrijven naar een html bestand.
Hoe????
met fwrite en output buffering enzo
Zal ik hem anders stellen, ik lees een XML file in en haal daar bepaalde waardes uit, die file kan soms oplopen tot meer dan 300kb (extreem geval), dit in te leven met een array kost dan veel processortijd, kan dit ook anders?
Kaal script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$xmlfile = fopen("http://damnet.nl/test/xml/xml.xml", "r");
if(!$xmlfile)die("cannot open the xml file");
$readfile = fread($xmlfile ,40000);
$searchfile = eregi("<Data>(.*)</Data>", $readfile ,$arrayreg);
$filechunks = explode("<Data>", $arrayreg[0]);
$count = count($filechunks);
echo "<table border='1'>";
echo "<th colspan='2'>verkeersinformatie</th>";
for($i=1 ; $i<=$count-1 ;$i++)
{
ereg("<Text>(.*)</Text>",$filechunks[$i], $txt);
echo "<tr><td>";
echo $txt[1];
echo "</td></tr>";
}
echo "</table>";
?>
$xmlfile = fopen("http://damnet.nl/test/xml/xml.xml", "r");
if(!$xmlfile)die("cannot open the xml file");
$readfile = fread($xmlfile ,40000);
$searchfile = eregi("<Data>(.*)</Data>", $readfile ,$arrayreg);
$filechunks = explode("<Data>", $arrayreg[0]);
$count = count($filechunks);
echo "<table border='1'>";
echo "<th colspan='2'>verkeersinformatie</th>";
for($i=1 ; $i<=$count-1 ;$i++)
{
ereg("<Text>(.*)</Text>",$filechunks[$i], $txt);
echo "<tr><td>";
echo $txt[1];
echo "</td></tr>";
}
echo "</table>";
?>
if ($laatstekeer > $nu)
{
Bestand schrijven
}
else
}
Oke bestand is nog actueel
}
Bestand wordt ieder minuut bijgwerkt door mijn TMC server.