un require dans une variable

Eléphant du PHP | 120 Messages

28 avr. 2010, 10:45

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
si tu as un soucis en informatique, dis toi bien que quelqu'un d'autre l'a eu avant toi

Eléphant du PHP | 422 Messages

28 avr. 2010, 10:47

hello

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

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Eléphant du PHP | 120 Messages

28 avr. 2010, 14:53

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...
si tu as un soucis en informatique, dis toi bien que quelqu'un d'autre l'a eu avant toi

Eléphant du PHP | 422 Messages

28 avr. 2010, 14:57

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 ...
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

ViPHP
ViPHP | 5462 Messages

28 avr. 2010, 15:00

ouai ou direct
ob_start();

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

Eléphant du PHP | 120 Messages

30 avr. 2010, 11:46

ah ben oui je suis con ! effectivement, vu comme ca, ca regle mon probleme !!
merci bcp de votre aide je vais tester ca dessssuite !
si tu as un soucis en informatique, dis toi bien que quelqu'un d'autre l'a eu avant toi

ViPHP
ViPHP | 1136 Messages

30 avr. 2010, 12:07

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.

Eléphant du PHP | 120 Messages

06 mai 2010, 18:38

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 ;-)
si tu as un soucis en informatique, dis toi bien que quelqu'un d'autre l'a eu avant toi