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

Php 同一个文件有两个不同的结果,php,Php,如果我使用这个代码 <?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php'; ?> 我得到了im调用的文件的功能,但没有得到布局/格式或文件图像 如果我使用这个代码 <?php $includeFile = file_get_contents("http://www.YourDomain.com/includes/header.php"); echo $includeFile; ?>

如果我使用这个代码

<?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()的文件,那么它将处理脚本并返回输出。我知道您想做什么,但唯一的方法是包含main index.php文件,然后处理脚本的其余部分,而不是尝试从第二个脚本中请求它来重新处理。

在包含图像时,您不应该删除底部的那一行。也许您应该检查您的问题并解释一下“这段代码”指的是什么:)这是你正在做的两件截然不同的事情。最后一个是在服务器上执行
file\u get\u contents
,只返回HTML。
file\u get\u contents
还将获取文件中的任何PHP源代码,并将其回显到客户端。“那是一件坏事!”火箭说得对,他没有看路。通过http组装输出来生成页面也很糟糕:Dyeah,这基本上是Rocket Post的改写版本谢谢你解释这两个动作!在阅读了评论之后,我能够解决这个问题!我还调查了提到的安全问题。:)