Változóba történő beillesztés rögzítése PHP-ben
Tegyük fel, hogy van egy fájlunk:
<div>
<?= 'test' ?>
</div>
Írjuk a fő fájlban a fájlunk tartalmát egy változóba:
<?php
$res = file_get_contents('test.php');
?>
Azonban probléma adódik - a változóba íráskor a fájlunk PHP kódja nem fog végrehajtódni.
Ahhoz, hogy a beillesztett fájl PHP kódja
végrehajtódjón, az include operátort
kell használni. A probléma azonban az, hogy
ez az operátor azonnal kiírja az adatokat
a képernyőre, ezért a beillesztés eredménye nem
lehet változóba írni.
De ez mégis megtehető, ha egy trükkös módszert alkalmazunk:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
Alakítsuk a módszer kódját függvénnyé:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
Használjuk a függvényünket a fájl változóba helyezéséhez:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
Készítsen egy fájlt, amely egy napok tömbjéből egy legördülő listát generál a hét napjaira. Írja az eredményt egy változóba a fő fájlban. Jelenítse meg ezt a változót a fájl több helyén.