当前位置: 首页 > 知识库问答 >
问题:

在修改了PHP文件的内容后,我如何将其内容包含在变量中?

章鸿光
2023-03-14

我有一个PHP模板文件index.PHP,它包含PHP和HTML

如果I包含'index.php';文件,则所有工作都按预期进行。

但是我想在包含文件之前修改它,为此我编写了以下代码:

$contents = file_get_contents('index.php');

// The position at which the HTML <head> tag ends in index.php
$posHeadEnd = strpos($contents, '</head>');

$linkTag = "<link rel='stylesheet' href='/assets/css/main.css' type='text/css'>";

// Insert <link> tag into the contents
$contents = substr($contents, 0, $posHeadEnd) . $link . substr($contents, $posHeadEnd);

include $contents;

此函数将 标记添加到变量$contents以添加额外的CSS。

完成后,它包含$contents变量。

我不理解error_log文件中的错误:

PHP Warning:  include(&lt;?php
$locale = $this-&gt;Template-&gt;locale;
?&gt;

&lt;!DOCTYPE html&gt;

&lt;html lang=&quot;da&quot;&gt;

&lt;head&gt;

    &lt;meta charset=&quot;UTF-8&quot;&gt;

    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0&quot;&gt;

    &lt;meta http-equiv=&quot;Content-type&quot; content=&quot;text/html;charset=UTF-8&quot;&gt;

    &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot;/&gt;

    &lt;meta property=&quot;og:title&quot; content=&quot;eDiary&quot;/&gt;

    &lt;title&gt;eDiary&lt;/title&gt;

    
[01-May-2021 15:24:50 Europe/Copenhagen] PHP Warning:  include(): Failed opening '&lt;?php
$locale = $this-&gt;Template-&gt;locale;
?&gt;

&lt;!DOCTYPE html&gt;

错误似乎是index.php的内容,而是html-character-encoded。

我尝试使用HTML_Entity_Decode函数,但没有帮助。

这可能是include函数中的一个问题,或者它不是要以这种方式使用的?

共有1个答案

谭俊
2023-03-14

include用于包含文件。不能包含字符串。您的脚本试图包含一个名称为index.php内容的文件,这就是警告的内容:

PHP警告:include():打开“<?PHP...

不确定您到底想要实现什么,但可能应该在index.php中添加其他 标记。可能在条件中。类似于

$needsLinkTag = true;

include index.php

和index.php内部

...
if ($needsLinkTag) {
  echo '<link ...';
}
 类似资料:
  • 问题内容: 我需要使用PHP删除包含内容的文件夹。和删除空文件夹,但无法删除包含内容的文件夹。 问题答案: 此功能将允许您删除任何文件夹(只要可写)及其文件和子目录。 或不递归使用:

  • 问题内容: 我想将变量(这里称为)的内容复制到文件中。 文件名存储在另一个变量中。 我在执行此操作时遇到问题。这是我尝试过的: 我还用dd命令尝试了相同的操作…显然,shell认为这是指目录,因此告诉我找不到该目录。 我该如何解决? 问题答案: 使用命令: 代表文件的测试。 截断文件后,追加文本。如果只想将文本附加到文件的现有内容中,请改用: 该命令用于复制文件(到文件),而不用于将文本写入文件。

  • 问题内容: http://play.golang.org/p/wYgfLLQYdm 请参阅上面的示例。在我的示例中,方法执行后变量更改不会持续。如何使用struct方法更改struct变量的值? 问题答案: 您的方法接收者是一个值,而不是一个指针。 那意味着那些方法像操作对象的 副本 。 也可以看看: 常见问题“ 我应该在值或指针上定义方法吗? ”。 “ 在Golang中不要被指针与非指针方法接收

  • 在我的项目中,我有固定的页眉和页脚,以及可变的内容。所以我已经将ContentControl放在了我的窗口中。 看起来是这样的... 我创建了两个名为page1、Page2用户控件。第1页有一个按钮,当我单击该按钮时,ContentControl有显示Page2。 所以我用button1_Click编写了下面的代码 但是在点击按钮的时候ContentControl没有改变我能做什么呢? 我的pag

  • 本文向大家介绍Python批量修改文本文件内容的方法,包括了Python批量修改文本文件内容的方法的使用技巧和注意事项,需要的朋友参考一下 Python批量替换文件内容,支持嵌套文件夹 关于本文给大家介绍的Python批量修改文本文件内容的方法,大家都看懂了,如果大家有疑问欢迎给我留言,小编会及时给大家回复的!

  • 问题内容: 我想使用Java程序删除文件的某些内容,如下所示。这是在相同文件中替换的写方法,还是应将其复制到另一个文件。 但是它删除了文件的所有内容。 问题答案: 我将从关闭阅读器和刷新书写器开始: