Semi dynamic index.html
Imhol eme kód:
Sajnos nem az én kreálmányom, viszont nagyon szeretném használt venni. Annyit csinál, hogy az adott index.php-t lefuttatja, az eredményből pedig index.html -t készít, így elég csak akkor adatbázishoz fordulni az oldallal, amikor változott is valami (a felvitel,törlés,módosítás hívja meg ezt a függvényt). Mivel a menüt egy rekurzív hívással rajzolom ki az oldalon, és 100 termék körül van a menüpontok száma, olyan jó ötletnek tűnik ez a megoldás.
Itthon piciny ubuntumon tökéletesen megy is a dolog, mégpedig úgy, hogy az example.hu helyett localhost-ot adok meg az $srcurl változóban.
Ám mikor a felraktam élesben a tárhelyre, a localhost-os hívás nem működött. Gondoltam kipróbálom az alsó url-t, és azzal működött is, de csak a felét rajzolta ki az oldalnak, majd mintha elvágták volna. Azt hittem a script a hibás, de utána próbálgattam tovább, és volt hogy 3/4-ét legenerálta, volt hogy a body-ig el sem jutott, és volt hogy teljesen normálisan működött.
Szóval mi ennek az oka? Sajnos nem értek ehhez a részéhez, csak okoskodok. Lehet hogy a localhost hívások nem mennek ki a netre, hanem helyben végrehajtódnak, míg az alábbi példa kimegy a netre, és ott veszhet el tartalom? Vagy ez hülyeség? Beszéljek a szolgáltatóval hogy van -e ott is lehetőség ilyenre? Vagy van valami egységes szabály arra, hogy ilyenkor hogy "számolom ki" az url-t (ami itthon http://localhost/index/index.php) ?
Köszi a válaszokat, ötleteket.
Szóval imhol a kód.
■ Sajnos nem az én kreálmányom, viszont nagyon szeretném használt venni. Annyit csinál, hogy az adott index.php-t lefuttatja, az eredményből pedig index.html -t készít, így elég csak akkor adatbázishoz fordulni az oldallal, amikor változott is valami (a felvitel,törlés,módosítás hívja meg ezt a függvényt). Mivel a menüt egy rekurzív hívással rajzolom ki az oldalon, és 100 termék körül van a menüpontok száma, olyan jó ötletnek tűnik ez a megoldás.
Itthon piciny ubuntumon tökéletesen megy is a dolog, mégpedig úgy, hogy az example.hu helyett localhost-ot adok meg az $srcurl változóban.
Ám mikor a felraktam élesben a tárhelyre, a localhost-os hívás nem működött. Gondoltam kipróbálom az alsó url-t, és azzal működött is, de csak a felét rajzolta ki az oldalnak, majd mintha elvágták volna. Azt hittem a script a hibás, de utána próbálgattam tovább, és volt hogy 3/4-ét legenerálta, volt hogy a body-ig el sem jutott, és volt hogy teljesen normálisan működött.
Szóval mi ennek az oka? Sajnos nem értek ehhez a részéhez, csak okoskodok. Lehet hogy a localhost hívások nem mennek ki a netre, hanem helyben végrehajtódnak, míg az alábbi példa kimegy a netre, és ott veszhet el tartalom? Vagy ez hülyeség? Beszéljek a szolgáltatóval hogy van -e ott is lehetőség ilyenre? Vagy van valami egységes szabály arra, hogy ilyenkor hogy "számolom ki" az url-t (ami itthon http://localhost/index/index.php) ?
Köszi a válaszokat, ötleteket.
Szóval imhol a kód.
public function generate_index() {
$srcurl="http://example.hu/index/index.php";
$tempfilename="../tempindex.html";
$targetfilename="../index.html";
echo "<p>index.html generálása</p>";
@unlink($tempfilename);
$dynpage=fopen($srcurl, 'r');
if (!$dynpage) {
exit('<p>forrásfájl megnyitása sikertelen</p>');
}
$htmldata=fread($dynpage,1024*1024);
fclose($dynpage);
$tempfile=fopen($tempfilename,'w');
if (!$tempfilename) {
exit('<p>temporális fájl megnyitása nem sikerült</p>');
}
fwrite($tempfile,$htmldata);
fclose($tempfile);
$ok=copy($tempfilename,$targetfilename);
unlink($tempfilename);
if ($ok) {
echo '<p>statikus oldal kreálása sikeres, kattins <a href="../index.html">ide</a> a folytatáshoz</p>';}
}
output buffering?
miért nem csinálsz az index.php-d vagy bármi elején egy ob_start()-ot a végén megy egy ob_get_contents()-t és írod ki fájlba..
Köszi az olvasnivalót...
Az output bufferingről halvány lila gőzöm sincs hogy mi, bevallom férfiasan, de utánanézek. Így most jól működik a dolog, nem tudom van értelme változtatni?
Tehát az új 12 sor: