Вопрос

Мне интересно, возможно ли записать php-код в файл.Например:

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

Я бы хотел, чтобы он выдавал точную строку в файле, а не оцененный код.Возможно ли это?

В настоящее время я получаю следующий вывод (где $ var = 1 и $ var2 = 2):

<?php 1 = 2 ?>

Принимая во внимание, что мне нужна фактическая строка:

<?php $var = $var2 ?>

Спасибо за помощь

Это было полезно?

Решение

Вы можете использовать одинарные кавычки вместо двойных, которые не расширяют имена встроенных переменных:

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

Другие советы

Просто экранируйте символ $

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

строки, заключенные в двойные кавычки, анализируются на предмет наличия переменных, и значение переменных вставляется в эту позицию.я полагаю, это связано с тем, что php изначально был разработан как тонкий слой шаблонов веб-сервера и базы данных.

лично мне это не нравится, и из-за этого я никогда не использую двойные кавычки.вместо этого я всегда использую одинарные кавычки и объединение строк:

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

делает то же самое , что и:

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

одинарные кавычки:раскраска синтаксиса работает лучше, это (незначительно) быстрее, и ошибки обнаруживаются легче

Это не имеет никакого отношения к файловому вводу-выводу.Прочитайте о подстановке переменных и экранировании в строках в PHP.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top