Code : Tout sélectionner
$ecrire=file_get_contents($file);

Sauf que j'aimerais que ce fichier contienne des variables et que celles-ci soient remplacées par leurs valeurs... par exemple :
Code : Tout sélectionner
<body>
$contenu
</body>

Code : Tout sélectionner
$ecrire=file_get_contents($file);
Code : Tout sélectionner
<body>
$contenu
</body>
Code : Tout sélectionner
$ecrire=include($file);
Si je comprends ta question, tu lis un fichier comme une chaine de caractères dans une variables, ensuite tu veux remplacer à l'intérieur de cette variable toutes les entrées $<qqc> qui sont elles mêmes des variables de ton script.calimo a écrit :Sauf que j'aimerais que ce fichier contienne des variables et que celles-ci soient remplacées par leurs valeurs... par exemple :Code : Tout sélectionner
<body> $contenu </body>
Merci ! Ça marche... sauf que évidemment ce n'est pas interprétéBenoit a écrit :Comme je viens de te le dire, avec ob_start() avant l'include, et puis $variable = ob_get_contents(). Il y a des exemples sur http://www.php.net/manual/fr/function.o ... ntents.php
Oui, je veux faire comme un include mais au lieu de l'écrire je voudrais que ça passe dans une variable pour faire un fwritechBok a écrit :Si je comprends ta question, tu lis un fichier comme une chaine de caractères dans une variables, ensuite tu veux remplacer à l'intérieur de cette variable toutes les entrées $<qqc> qui sont elles mêmes des variables de ton script.
Pour en revenir à ce que je disais hier soir, après investigation, le $ecrire=include($file) a un comportement bizarre.chBok a écrit :Aïe, j'ai mal aux cheveux. A moins de passer par des expressions régulières pour isoler les textes $<qqc>, puis de convertir leur contenu, puis de réinjecter dans la chaine initiale...
Trouve autre chose
surtout si c'est pour écrire une page Web.
Code : Tout sélectionner
if (!$handle = fopen($filename, 'x+')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}
if (fwrite($handle, $ecrire) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}
echo "L'écriture de (<pre>$ecrire</pre>) dans le fichier ($filename) a réussi";
fclose($handle);
La fonction fwrite te renvoie 1, qui correspond au nombre d'octet écrit :calimo a écrit :[couic]Pour en revenir à ce que je disais hier soir, après investigation, le $ecrire=include($file) a un comportement bizarre.
Si je fais un echo($ecrire); la variable écrire contient bien ce que je veux, interprété comme je veux. Par contre... je ne comprend pas pourquoi quand je fais le fwrite ça m'écris juste "1"... quelle est la différence ?
Alors, pourquoi 1, simplement la valeur true affectée à ta variable $ecrire dans ton affectation avec include().fwrite retourne le nombre d'octets écrits ou FALSE en cas d'erreur.
Et pourtant ça marche dans un echo...chBok a écrit :Ecrire $ecrire=include($file) n'est pas juste
Code : Tout sélectionner
<body>
<?php echo $contenu ?>
</body>
Code : Tout sélectionner
<?php
$contenu ='mon machin';
ob_start();
$ecrire=include('inclus.php');
$monFichier=ob_get_clean();
echo $monFichier;
echo $ecrire;
?>
Code : Tout sélectionner
<body>
mon machin</body>
1
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité