Résultat code PHP dans une variable --> include ? - PHP - Programmation
Marsh Posté le 05-03-2007 à 10:17:40
p'tain.... (ouais j'laime bien ce smiley )
Tu fais une fonction... tout simplement au lieu d'inclure un fichier php....
Code :
|
Tu claque ça dans un fichier php style biblio.inc.php
Tu include ce fichier partout où tu veux avoir accés aux fonctions présente dans ce fichier
et tu appel ces fonctions comme des fonctions natives php...
bref une chose présente dans.. au choix, la doc PHP, des tutos, partout quoi.
Marsh Posté le 05-03-2007 à 11:18:34
Sinon, tu peux chercher ob_start dans la doc de PHP si ce que Chani te propose ne te plait pas.
Marsh Posté le 05-03-2007 à 11:25:01
nORKy a écrit : Sinon, tu peux chercher ob_start dans la doc de PHP si ce que Chani te propose ne te plait pas. |
Yep... gestion d'un tampon (c'est sympa comme fonction ) surtout util quand tu veux gérer un cache, ou éviter les soucis avec les headers..
Marsh Posté le 05-03-2007 à 14:13:53
Code :
|
Marsh Posté le 05-03-2007 à 15:36:27
sielfried a écrit :
|
Ok c'est ça qu'il me faut ! Merci sielfried.
[ ]Chani_t : Merci, j'ai apris à faire une fonction.
Je suis développeur de métier (pas dans le web), j'ai 2 bibles sur PHP5, si je pose la question c'est que je n'ai pas trouvé la réponse par moi-même. C'est à ça que sert les forum non ?[/ ]
Je veux utiliser ça pour faire des templates.
J'ai une classe Template qui permet de charger un template et d'y placer une page principale.
Code :
|
J'ai un template "main" du genre :
Code :
|
$this->main(); charge la page défini par $t->load_page()
Par exemple la page de contact :
Code :
|
--> Quand je fais load_page je ne veux pas que la page s'affiche tout de suite, je veux juste la stocker pour la mettre à la place de $this->main();
EDIT : Le problème s'est posé quand dans ma page contact.php j'ai voulu faire un header("location: ..." );
Vu que le début du template (juste avant le $this->main()) était déjà écrit : je n'avais pas le droit de modifier l'en-tête.
Marsh Posté le 05-03-2007 à 16:21:23
moustik510 a écrit : Ok c'est ça qu'il me faut ! Merci sielfried. |
Oula... mossieur l'maréchal nous fait une crise de zéle ..
en lisant ton post d'un premier abord, ce n'était pas évident que tu savais faire une fonction...
de plus sur HFR, ya pas que des personnes qui son des développeurs expérimentés.. loin de la (tout du moins dans la cat PHP )
Ensuite, si tu avais vraiment des bible en php5, ou si tu les avais lue avec attention, tu aurait forcément vu cette fonctionnalité..
Et puis ce que tu cherche à faire c'est utiliser un buffer (tampon).. pas mettre le résultat de la fonction dans une variable
Bon enfin... nOrky t'avais donné une trés bonne piste...
sans racune..
Marsh Posté le 05-03-2007 à 16:39:52
chani_t a écrit : pas mettre le résultat de la fonction dans une variable |
Je cherchais plutot à mettre le contenu d'un fichier PHP dans une variable.
En voyant l'erreur indiquant que je ne pouvais pas modifier le header une fois qu'il y avait quelque chose d'écrit dans le tampon, j'ai essayé de vider le tampon, mais je n'ai pas trouvé la fonction les fonctions indiquées par nORKy et sielfried, et, j'avoue, je ne savais même pas si c'était possible.
Merci en tout cas. Sur ce forum, positive ou négative, il y a toujours une réponse, ça permet d'avancer.
Faudrait un forum aussi dynamique sur SAP ... ... en français
Marsh Posté le 05-03-2007 à 10:08:48
Bonjour,
J'explique ce que je veux faire :
J'ai un fichier php disons bonjour.php :
Je veux l'appeler dans une fonction et mettre le résultat dans une variable.
$incl contiendra donc la sortie de bonjour.php : "<p>Bonjour <strong>Mon nom</strong></p> ".
Avec appel de la fonction appel_fonction_bidon() (donc affichage de son return éventuel)
Et pourra être affiché plus tard.
MAIS je ne sais pas comment faire :
include("bonjour.php" ) --> exécute le php et écrit tout de suite le code dans la page.
file_get_contents("bonjour.php" ) --> me retourne "<p>Bonjour <?php echo $nom ?></p> <?php appel_fonction_bidon() ?>" sans avoir exécuté le code php.
Il y a t'il une fonction que je ne connais pas ?
Merci.