在 php 文件中使用 fwrite 显示 php 代码

Display php code with fwrite inside a php file

您好,我正在使用下面的代码在 .php 文件中写入以下行。

$stringDatar = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML+RDFa 1.0//EN'\n";
fwrite($handler, $stringDatar);

我正在尝试使用以下代码在 php 文件中写入相同的内容,但它没有写入 php 代码。

$stringDatar = "'.<?php $_GET['p']\n.'";
fwrite($handler, $stringDatar);

有什么想法吗?

变量在双引号内扩展,所以它将 $_GET['p'] 的值放入文件中。您需要转义美元符号,以便按字面意思书写。

$stringDatar = "'.<?php $_GET['p']\n.'";

你可以使用这种格式,这样会更舒服

<?php

$content = <<< END
<?php
  $d = 5;
  echo "$d".PHP_EOL;
  echo $_GET['arg'];

END;
file_put_contents("filename.php", $content);

文件内容:

<?php
  $d = 5;
  echo "$d".PHP_EOL;
  echo $_GET['arg'];