我如何将 PHP 代码写入由 PHP 创建的文件中?

How could I write PHP code into a file created by PHP?

标题是self-explanatory。在 PHP 中,我创建了一个 PHP 文件,向其中添加了一些 PHP 和 HTML 代码,然后将其关闭。问题是 PHP 文件获取所有找到的 PHP 代码并将其转换为空。这是我尝试的最后一件事。

$phpfile=fopen('backupfile.php',"r");
$phptext=fgets($phpfile);
  if(stristr($link, 'http://') === FALSE) {
  fwrite($file2,$phptext."<meta http-equiv='refresh' content='0; URL=http://".$link." '/>");


  }else{
  fwrite($file2,$phptext."<meta http-equiv='refresh' content='0; URL=".$link." '/>");

  }

php 文件包括以下内容:

<?php $file=fopen("/num","r"); $bar=fgets($file); $bar=$bar+1; $file=fopen("/num","w"); fwrite($file,$bar); ?>

如前所述,它不会将其添加到文件中。

我尝试了 htmlentities,但这使得 PHP 代码对页面可见,而不是硬连接到文件中。

感谢您的帮助。

这并不是真的要在文件中编写代码,您可以使用数据库来桥接这个想法。

您可以有一个标准的目录设置,即:帮助文档。

在该目录中,有一个文件:您可以简单地查询数据库中的页面,使用获取值将永久链接集成到每个页面,然后显示该值的内容(可能是页面 ID)。

当然,您需要实施标准和安全性 - 即,如果任何人都可以创建页面 - 确保只能添加​​某些 html 或 BBCode。

我希望这能拓宽你的想法;大多数论坛、帖子、评论等都是这样工作的。

第一步: 代码说明:

$link = "some like address";
  if(mb_strpos($link, 'http://') === FALSE || mb_strpos($link, 'http://') > 0) {
     $link = "http://".$link;
   }
  $phptext = PHP_EOL."<meta http-equiv='refresh' content='0; URL=".$link." '/>";
   file_put_contents('backupfile.php', $phptext, FILE_APPEND); 

好的,我在这里做了什么:

  • 检查多字节字符串检查 HTTP:// 是否出现在字符串中,在开头检查是无关紧要的,因为如果它不在开头它无论如何都是无效的 HTTP 请求,并且您不进行检查为此,在提供的代码中。

  • 检查后,$link 值会更新。

  • 然后使用file_put_content将字符串中的内容追加到现有文件中。如果该文件不存在,则会创建它。


编辑:

从你的问题中不清楚,但如果你想 $link 保存在字符串中,那么用单引号写 link 如下:

$phptext = PHP_EOL.'<meta http-equiv="refresh" content="0; URL=$link"/>';

仅使用(转义的)单引号重写您的代码。使用双引号将导致嵌入的 php 被解释。