2012-01-19 48 views
0

如果我使用此代码相同的文件两个不同的结果

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

我得到的文件IM调用的功能,但没有得到布局/格式或文件的图像。

如果我使用此代码

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

我得到的格式化布局,但在搜索领域不起作用。有没有办法结合这两个代码来获得布局和功能?

+0

包含图像时,不应该删除底部的那一行。 – animuson

+0

也许你应该检查你的问题,并解释“此代码”是指什么:) – Matten

+2

这是你做的两件非常不同的事情。在服务器上执行'file_get_contents'的最后一个,并且只返回HTML。 –

回答

4
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继续。

+1

感谢您解释这两个操作!阅读完所做的评论后,我能够解决问题。我也研究了所提到的安全问题。 :) – FLX

+0

@FLX:很高兴我可以帮忙:-) –

3

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

+0

是的,这基本上是一个Rocket的帖子的重写版本 – Ralph

相关问题