Enregistrement de l'inclusion dans une variable en PHP
Supposons que nous ayons un certain fichier :
<div>
<?= 'test' ?>
</div>
Dans le fichier principal, enregistrons le texte de notre fichier dans une variable :
<?php
$res = file_get_contents('test.php');
?>
Nous aurons cependant un problème - lors de l'enregistrement dans la variable, le code PHP de notre fichier ne sera pas exécuté.
Pour que le code PHP du fichier inclus
soit exécuté, il faut utiliser l'opérateur
include. Le problème, cependant, est que
cet opérateur affiche immédiatement les données
à l'écran, donc le résultat de l'inclusion ne peut pas
être enregistré dans une variable.
Mais on peut quand même le faire, en utilisant une astuce ingénieuse :
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
Mettons le code de l'astuce sous forme de fonction :
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
Utilisons notre fonction pour obtenir le fichier dans une variable :
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
Créez un fichier qui générera à partir d'un tableau de jours une liste déroulante des jours de la semaine. Enregistrez le résultat dans une variable dans votre fichier principal. Affichez cette variable à plusieurs endroits du fichier.