Решение № 1: Использование функции include (работает как функция): [Мое лучшее решение]
Файл index.php:
<?php
$bar = 'BAR';
$php_file = include 'included.php';
print $php_file;
?>
Файл включен .php:
<?php
$foo = 'FOO';
return $foo.' '.$bar;
?>
<p>test HTML</p>
Это выдаст FOO BAR
, но
Примечание : работает как функция, поэтому RETURN передает содержимое обратно в переменную (<p>test HTML</p>
будет потеряно в приведенном выше)
Решение № 2: op_buffer ():
Файл index.php:
<?php
$bar = 'BAR';
ob_start();
include 'included.php';
$test_file = ob_get_clean(); //note on ob_get_contents below
print $test_file;
?>
Файл включен .php:
<?php
$foo = 'FOO';
print $foo.' '.$bar;
?>
<p>test HTML</p>
Если вы используете ob_get_contents()
, он выдаст FOO BAR<p>test HTML</p>
ДВАЖДЫ , убедитесь, что вы используете ob_get_clean()
Решение № 3: file_get_contents ():
Файл index.php:
<?php
$bar = 'BAR';
$test_file = eval(file_get_contents('included.php'));
print $test_file;
?>
Файл включен .php:
$foo = 'FOO';
print $foo.' '.$bar;
Это выдаст FOO BAR
, но Примечание : Include.php не должен иметь <?php
открывающих и закрывающих тегов, так как вы запускаете его через eval ()