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: