Question

Je me demande s'il est possible d'écrire du code php dans un fichier. Par exemple:

fwrite($handle, "<?php $var = $var2 ?>");

Je voudrais qu'il produire la chaîne exacte dans le fichier et non le code eval'ed. Est-ce possible?

Je reçois actuellement la sortie suivante (où $ var = 1 et var2 = 2 $):

<?php 1 = 2 ?>

Alors que je veux la chaîne réelle:

<?php $var = $var2 ?>

Merci pour l'aide

Était-ce utile?

La solution

Vous pouvez utiliser des guillemets simples au lieu de guillemets, qui ne se déplient pas les noms de variables en ligne:

fwrite($handle, '<?php $var = $var2 ?>');

Autres conseils

Juste échapper le symbole $

<?php
fwrite($handle, "<?php \$var = \$var2 ?>");
?>

cordes deux cotés sont analysés pour les variables, et la valeur des variables est inséré dans cette position. Je suppose que cela est dû au fait php à l'origine a été conçu comme une fine couche de templating-base de données de serveur Web.

personnellement, je ne l'aime pas et ne jamais utiliser des guillemets doubles pour cette raison. à la place, je l'utilise toujours des guillemets simples et chaîne concenation:

<?php echo 'hello, ' . $name; ?>

fait la même chose que:

<?php echo "hello, $name"; ?>

guillemets simples: la coloration syntaxique fonctionne mieux, il est (légèrement) plus rapide et plus facile des erreurs sont détectées

Cela n'a rien à voir avec le fichier io. En savoir plus sur la substitution de variables et d'échapper dans les chaînes en PHP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top