同一个文件有两个不同的结果


Same file two different results

如果我使用这个代码

<?php
  include $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php';
?>

我得到了文件im调用的函数,但没有得到布局/格式或文件图像。

如果我使用这个代码

<?php
  $includeFile = file_get_contents("http://www.YourDomain.com/includes/header.php");
  echo $includeFile;
?>

我得到了格式化的布局,但搜索字段不起作用。有没有办法把这两个代码结合起来,得到布局和函数?

include $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php';

这基本上是将该文件复制并粘贴到您的文件中,然后执行PHP。

$includeFile = file_get_contents("http://www.YourDomain.com/includes/header.php");
echo $includeFile;

这会像在浏览器中运行文件一样运行文件,并只是回显输出,这可能只是HTML。在这种情况下,PHP已经执行完毕。在第一种情况下,PHP被执行,然后PHP继续。

当你"包含"文件时,你实际上是在使用调用它的脚本中的代码。如果你用file_get_contents()请求文件,那么它就是在处理脚本并返回输出。我知道你想做什么,但唯一的方法是包含主index.php文件,然后该文件处理脚本的其余部分,而不是从第二个脚本中请求它来重新处理。