我想知道如果它是可以编写PHP代码的文件。例如:

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

我想它产生在文件中的相同字符串而不是eval'ed代码。这是可能的?

我目前得到以下输出(其中是$ var = 1和$ VAR2 = 2):

<?php 1 = 2 ?>

而我想实际的字符串:

<?php $var = $var2 ?>

感谢您的帮助

有帮助吗?

解决方案

您可以用单引号代替双引号,不扩大内嵌变量名:

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

其他提示

刚逃出$符号

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

双引号字符串被解析为变量,并且变量值被插入在该位置。我想这是因为PHP最初被设计为薄的网络服务器的数据库模板层。

个人而言,我不喜欢这样,决不使用,因为这双引号。相反,我总是使用单引号和字符串concenation:

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

做同样为:

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

单引号:语法着色效果更好,它的(轻微)更快发现错误更容易

这无关与文件IO。阅读关于变量替换和在PHP在字符串中逸出。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top