Pregunta

Me pregunto si es posible escribir código PHP en un archivo. Por ejemplo:

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

Me gustaría que producen la cadena exacta en el archivo y no el código eval'ed. ¿Es esto posible?

Actualmente estoy recibiendo el siguiente salida (donde $ var = 1 y $ var2 = 2):

<?php 1 = 2 ?>

Mientras que yo quiero la cadena real:

<?php $var = $var2 ?>

Gracias por la ayuda

¿Fue útil?

Solución

Puede utilizar comillas simples en lugar de comillas dobles, que no se expanden los nombres de variables en línea:

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

Otros consejos

Sólo escapar el símbolo $

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

cadenas entre comillas dobles se analizan las variables, y se inserta el valor de las variables en esa posición. supongo que esto es porque php originalmente fue diseñado como una capa de plantillas servidor web-base de datos delgada.

personalmente, no me gusta eso y nunca uso comillas dobles debido a esto. En cambio, yo siempre uso las comillas simples y concenation cadena:

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

hace lo mismo que:

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

comillas simples: coloreado de sintaxis funciona mejor, es (ligeramente) más rápido y más fácil se encuentren errores

Esto no tiene nada que ver con io archivo. Lea acerca de la sustitución de variables y escapar de las cadenas en PHP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top