Page 1 sur 1

un require dans une variable

Posté : 28 avr. 2010, 10:45
par jp.bond
bonjour,

j'aimerai savoir s'il est possible d'écrire ceci (pas sous cette forme car cela ne marche pas...) :
						$message .='
									<br><br>&nbsp;&nbsp;&nbsp;
									
									Si vous n\'arrivez pas à lire ce message correctement, merci de copier-coller cette adresse dans votre navigateur
									
									http://www.xxx.com/2010/invitations/invitation.php?id='.$id.' 
									
									ou de 
									<a href="http://www.xxx.com/2010/invitations/invitation.php?id='.$id.'">
									cliquer ici !
									</a>
									<br><br><br>
								';
									
									
			// debut de la page HTML				
						$message .= require('../../includes/invitation_fr.php');

sachant que la variable $message doit etre la somme des 2 et que le tout est le contenu d'une newsletter envoyé dynamiquement

Si je copie-colle le code contenu dans invitation_fr.php à la place du require, tout fonctionne nickel.
Mais je voulais isoler cette partie car je m'en sers à différent endroit...

merci de votre aide

Re: un require dans une variable

Posté : 28 avr. 2010, 10:47
par telnes
hello

il faut que tu utilise ob_get_content http://fr.php.net/manual/fr/function.ob ... ntents.php

++

Re: un require dans une variable

Posté : 28 avr. 2010, 14:53
par jp.bond
hein ?!
j'ai regardé le lien mais ou je n'ai pas trop compris ou ce n'est pas du tout ce dont j'ai besoin !
Le code est stocké dans une page à part et ma question est de savoir si on peut mettre un require comme valeur d'une variable en fait...

Re: un require dans une variable

Posté : 28 avr. 2010, 14:57
par telnes
hello

ob_get_content() permet de récupérer dans un buffer le résultat du code PHP. Donc si tu fait
ob_start();

include '../../includes/invitation_fr.php';

$out1 = ob_get_contents();
ob_end_clean();
dans $out1 tu aura ce qu'il y a dans l'include/require ...

Re: un require dans une variable

Posté : 28 avr. 2010, 15:00
par stealth35
ouai ou direct
ob_start();

include '../../includes/invitation_fr.php';
$out1 = ob_get_clean();

Re: un require dans une variable

Posté : 30 avr. 2010, 11:46
par jp.bond
ah ben oui je suis con ! effectivement, vu comme ca, ca regle mon probleme !!
merci bcp de votre aide je vais tester ca dessssuite !

Re: un require dans une variable

Posté : 30 avr. 2010, 12:07
par stopher
Sauf erreur de ma part , le bout de code que tu inclue , n'envoie rien au tampon de sortie !

il ne fait de définir une variable avec un contenu !

de ce fait , ob_get_contents() ne récupérera strictement rien .

le plus simple pour toi , serai de récupérer la variable définie dans le fichier que tu inclues , exemple :

f1.php:
<?php

//inclusion du script f2.php
include 'f2.php';


//affichage d'une variable defini dans f2.php
echo $msg;
f2.php:
<?php

$msg = "Hi man ";
Le résultat sera bien celui attendu : "Hi man" apparaitra à l'écran .
Sans jouer avec le tampon de sortie .

Ensuite , si tu affiches uniquement des données statiques ( html ) , tu crées ton fichier html , et tu utilises file_get_contents() pour récupérer le contenu .

Good luck ,

Ch.

Re: un require dans une variable

Posté : 06 mai 2010, 18:38
par jp.bond
salut à tous,

donc j'ai fait mes tests et ce code marche nickel :
ob_start();
include '../../includes/invitation_fr.php';
$out1 = ob_get_clean();
					
$message .= $out1;
avec bien sur la petite fonction mail :
mail ($email,$sujet,$message,$headers)
merci de votre aide, vous m'avez enlevé un palmier du pied ;-)