Записване на включване в променлива в PHP
Да предположим, че имаме следния файл:
<div>
<?= 'test' ?>
</div>
В основния файл нека запишем текста от нашия файл в променлива:
<?php
$res = file_get_contents('test.php');
?>
Обаче ще имаме проблем - при записването в променлива PHP кодът от нашия файл няма да бъде изпълнен.
За да бъде изпълнен PHP кодът на включвания файл,
трябва да използваме оператора
include. Проблемът обаче е, че
този оператор незабавно извежда данните
на екрана, поради което резултатът от включването не може
да бъде записан в променлива.
Но все пак това може да се направи, ако се използва хитър трик:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
Нека оформим кода на трика във функция:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
Нека използваме нашата функция, за да получим файла в променлива:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
Направете файл, който ще генерира от масив от дните падащ списък с дните от седмицата. Запишете резултата в променлива в основния ви файл. Изведете тази променлива на няколко места във файла.