Sisällytyksen tallentaminen muuttujaan PHP:ssä
Oletetaan, että meillä on seuraava tiedosto:
<div>
<?= 'test' ?>
</div>
Yritetään tallentaa päätiesostoon tiedostomme sisältö muuttujaan:
<?php
$res = file_get_contents('test.php');
?>
Meillä on kuitenkin ongelma - tallennettaessa muuttujaan PHP-koodiamme tiedostossa ei suoriteta.
Jotta sisällytettävän tiedoston PHP-koodi
suoritettaisiin, tulee käyttää operaattoria
include. Ongelma on kuitenkin siinä,
että tämä operaattori tulostaa datan heti
näytölle, joten sisällytyksen tulosta ei voi
tallentaa muuttujaan.
Mutta tämä on kuitenkin mahdollista, jos käytetään näppärää temppua:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
Muotoillaan kooditemppu funktioksi:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
Hyödynnetään funktiotamme tiedoston saamiseksi muuttujaan:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
Tee tiedosto, joka generoi päivien taulukosta pudotusvalikon viikonpäivistä. Tallenna tulos muuttujaan päätiesostossasi. Tulosta tämä muuttuja useassa kohdassa tiedostoa.