题
我想知道如果它是可以编写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在字符串中逸出。
不隶属于 StackOverflow