Page 1 sur 1

le contenu d'un "require" dans une variable

Posté : 28 août 2009, 15:46
par jp.bond
bonjour,

pour envoyer un email, j'utilise un script de ce genre :
				$sujet="Titre du Mail";

				// mail HTML :
				$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
				$headers .='Content-Transfer-Encoding: 8bit';
				
				// si on repond au mail recu ca partira ici :
				$headers .= "Reply-to: \"toto\" <[email protected]>\n";
				// si on veut savoir qui a envoy&eacute; ce mail :
				$headers .= "From: \"toto\" <[email protected]>\n";
				// on envoi une copie de ce meme mail là :
				$headers .= "Bcc: \"toto\" <[email protected]>\n";
				
// debut du message HTML				
				$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.toto.com/2009/invitations/invitation.php?id='.$id.' 
							
							ou de 
							<a href="http://www.toto.com/2009/invitations/invitation.php?id='.$id.'">
							cliquez ici !
							</a>
							<br><br><br>
							
							
		require('../includes/invitation_'.$langue.'.php');
					
					
								';

forcement ce code ne marche pas à cause de l'include, enfin plutot la fonction require.
Mais pour des raisons de commodités, et parce que ce code est utilisé à plusieurs endroits, j'ai voulu l'isoler.

la page appelée dans le require n'est autre qu'un code HTML du type

<html>
<head>
<title>toto</title>
etc...

comment puis-je passer le contenu de la page DANS la variable $message ?

Je pense pas que ce soit extraordinaire, mais j'avoue ne pas savoir comment m'y prendre

merci pour votre aide

jp

Re: le contenu d'un "require" dans une variable

Posté : 28 août 2009, 17:24
par FuZZyLine
Salut,
bonjour,
pour envoyer un email, j'utilise un script de ce genre :
[...]
forcement ce code ne marche pas à cause de l'include, enfin plutot la fonction require.
Mais pour des raisons de commodités, et parce que ce code est utilisé à plusieurs endroits, j'ai voulu l'isoler.
la page appelée dans le require n'est autre qu'un code HTML du type
[...]
comment puis-je passer le contenu de la page DANS la variable $message ?
Je pense pas que ce soit extraordinaire, mais j'avoue ne pas savoir comment m'y prendre
merci pour votre aide
jp
include/require etc... Charge un fichier en l'évaluant (...le terme est peut-être mal choisi)
autrement dit: utiliser fopen à la place pour des fichiers non php. Exemple:
<?php

$fp = fopen("ton_fichier", "r");
if ($fp === false) exit("Traitement imposssible !");

$line = "";

while(!feof($fp)
{
   $line .= fget($fp, 1024);
}
Ta_fonction php($line);
?>
Sinon ton fichier HTML tu fais ca si tu tiens vraiment à include/require/ect...:
<?php
   function html()
   {
      $html .= "<html>\n";
      $html .= "   <head>\n";
      $html .= "   .\n";
      $html .= "   Etc...\n";
      $html .= "   .\n";
      $html .= "</html>\n";

      return $html;
   }
?>
Espérant que ca solutionne ton problème, bon code @+ ;)

Re: le contenu d'un "require" dans une variable

Posté : 28 août 2009, 17:42
par Invité
euh...
excuse moi mais le probleme n'est pas là...

j'aimerai ajouter le contenu du require au contenu de la variable $message.

j'aimerai que $message = 'un bout de code'+'le bout de code dans le require' = la concaténation des deux en fait...

c'est tout...

Re: le contenu d'un "require" dans une variable

Posté : 28 août 2009, 18:19
par FuZZyLine
euh...
excuse moi mais le probleme n'est pas là...
j'aimerai ajouter le contenu du require au contenu de la variable $message.
j'aimerai que $message = 'un bout de code'+'le bout de code dans le require' = la concaténation des deux en fait...
c'est tout...
Je t'en prie, no soucis ;)

Je crois voir... 'fin il me semble. Tu souhaites avoir un code prêt à l'emploi
dans une ou plusieur variables et par la suite les évaluer.
Si c'est ca, la fonction eval y répond mais dangereuse en ressource.

...de toute façon tu ne pourras "cat" tes bouts de code qu'en transposant en chaine tous
tes autres bouts de code (ce qui, si je peux me permetre, est un non-sens).
Créé des fichiers à inclure avec dedans une fonction finissant par return ca me parait plus
judicieux.

Tu as aussi les fonctions : http://www.manuelphp.com/php/function.c ... r-func.php

Mais pariant sur le fait que je suis encore à côté je me fiche une claque eh eh eh ;)

@+ ;)

Re: le contenu d'un "require" dans une variable

Posté : 28 août 2009, 18:32
par Invité
je sais concatener 2 variables, genre :

$a = 'toto'
$b = 'tata'
$c = $a.$b = 'tototata'

mais est il possible de faire un truc du genre :

$b = 'require('../includes/invitation_'.$langue.'.php')'; où $b contient donc le code de la page requise... ?

du coup, j'ai plus qu'à faire ma concaténation $a.$b et c'est bon...

sinon il y a effectivement la fonction avec un return, le return contenant l'ensemble de la page du require... mais c'est plus compliqué...

Re: le contenu d'un "require" dans une variable

Posté : 28 août 2009, 18:43
par FuZZyLine
je sais concatener 2 variables, genre :

$a = 'toto'
$b = 'tata'
$c = $a.$b = 'tototata'

mais est il possible de faire un truc du genre :

$b = 'require('../includes/invitation_'.$langue.'.php')'; où $b contient donc le code de la page requise... ?

du coup, j'ai plus qu'à faire ma concaténation $a.$b et c'est bon...

sinon il y a effectivement la fonction avec un return, le return contenant l'ensemble de la page du require... mais c'est plus compliqué...
Bein... Enfait, je t'ai donné la réponse (si, si, je t'assure) mais franchement ca risque d'être:
Moche, Super lent, avec plein d'autres trucs "pas sympas".

Je vois à peu près ta pensée et ce que tu veux mais ca marche pas tout à fait ainsi.

Exemple:

Code : Tout sélectionner

$Ta_variable = "require(\"Ton_Fichier.php\");";
La tu n'as que le path file. Te faut, pour avoir le script de la page, évaluer ta variable:

Code : Tout sélectionner

eval($Ta_Variable);
Voila. Je peux pas mieux dire que: évite eval... Elle est du côté obscur de la force ;)

Plus sèrieux, oui ce que tu cherches à faire peut se faire mais est déconseillé.
Attend d'autre réponse on sait jamais, mais... ;)

@+

Re: le contenu d'un "require" dans une variable

Posté : 28 août 2009, 19:50
par Invité
merci de ton aide en tout cas, j'y vois plus clair !
je vais voir si quelqu'un a une idée, ou un autre angle d'attaque pour ce probleme...

Re: le contenu d'un "require" dans une variable

Posté : 29 août 2009, 08:42
par Berzemus
Tu peux simplement lire un fichier dans une variable avec file_get_contents.

Après, tu peux insérer du contenu en insérant, dans le fichier que tu importes, ce que tu veux en utilisant des balises que tu remplaces par du texte.

Du genre:

Code : Tout sélectionner

<span>%%texte_du_span%%</span>
Et la il suffit de rechercher les balises et de les remplacer par le texte censé y aller.