Nous avons un cadre personnalisé que nous utilisons, qui nous permet de include
le code dans d'autres pages. Cependant, l'en-tête de ce code est toujours imprimé, même si le code include
ne génère aucun résultat. Y at-il un moyen que je peux exit
, ou return
quelque chose de spécifique, que je peux piéger et attraper via include
/require
, de sorte que je puisse faire la bonne chose?PHP Catch "Empty" Includes
2
A
Répondre
5
Activez la mémoire tampon de sortie, comprennent le fichier, puis vérifier son contenu:
ob_start();
include "file.php";
$content = ob_get_contents();
ob_end_clean();
Après que l'enregistrement du contenu généré et soit le garder ou le vider.
Meilleurs voeux, Fabian
3
Cela pourrait ne pas être la solution la plus appropriée, mais c'est un truc sympa. Vous pouvez réellement utiliser PHP-includes comme fonctions et renvoyer des valeurs.
Par exemple. Créez un fichier appelé myinclude.php:
<?php
$a = 9192*9192;
return a;
Ensuite, créez un second fichier et comprennent le premier:
<?php
$res = include("myinclude.php");
echo $res;
Oui, cela fonctionne réellement. Voir le manual page pour plus de détails. Notez également que si rien n'est explicitement renvoyé à partir du fichier include, include() renverra "OK" (curieusement). Cela fonctionne pour require(), include_once() et require_once() aussi bien.
Ceci est une méthode intéressante, et si je pouvais donner la bonne réponse à vous deux, je le ferais, car l'utilisation de la méthode de @ halfdan en conjonction avec la vôtre m'a * exactement * ce dont j'avais besoin. Merci! –