L'écriture de code PHP dans un fichier
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
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.