Domanda

Mi chiedo se è possibile scrivere codice php in un file. Ad esempio:

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

Vorrei che produce la stringa esatta nel file e non il codice eval'ed. È possibile?

Attualmente sto ottenendo il seguente output (dove $ var = 1 e $ var2 = 2):

<?php 1 = 2 ?>

Mentre io voglio la stringa effettiva:

<?php $var = $var2 ?>

Grazie per l'aiuto

È stato utile?

Soluzione

È possibile utilizzare le virgolette singole al posto delle virgolette doppie, che non si espandono i nomi delle variabili in linea:

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

Altri suggerimenti

Proprio sfuggire al simbolo $

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

stringhe doppia citati vengono analizzati per le variabili, e il valore delle variabili si inserisce in quella posizione. Suppongo che questo sia perché PHP in origine è stato progettato come un sottile strato webserver-database di template.

Personalmente, non mi piace che e mai usare le virgolette a causa di questo. invece, io uso sempre le virgolette singole e concenation stringa:

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

fa la stessa cosa come:

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

apici: la colorazione della sintassi funziona meglio, è (leggermente) più veloce e gli errori si trovano più facile

Questo non ha nulla a che fare con il file IO. Leggi sostituzione di variabili e fuggire nelle stringhe in PHP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top