2012-10-07 104 views
0

我有以下代码:的file_get_contents获取PHP文件的部分

<?php 
$path=$_SERVER['HTTP_HOST'].$_SERVER[REQUEST_URI]; 
$test=file_get_contents('http://www.domain.com/test.php?i='.$path); 
echo $test; 
?> 

我想获取并插入依赖于$ PATH变量的test.php文件的特定部分(网址从中test.php文件被访问。)

我该怎么做?我在正确的轨道上吗?我不知道如何设置我的text.php文件,以便该函数能够正确显示所访问网页的正确部分。我该怎么做呢?或者,还有更好的方法? (test.php不是本地文件)

谢谢!

+4

让我得到这个权利:你想从另一个网站获取一些PHP代码并将其作为PHP代码在你的代码中运行?你有什么想法是多少安全风险?另外,如果代码不会改变,那么每次加载页面时都会通过网络下载它,这也是带宽的巨大浪费。再加上它会很慢。非常非常慢。 – Spudley

+0

我想要做的是获取PHP文件的内容,并将其中的一部分放在正在访问它的网站上。所以上面的代码将在许多不同的网站上,而test.php文件将在domain.com上。根据访问它的网站的URL,我希望它获取test.php文件的不同部分(因此包含$ path)。 test.php文件的内容会定期更改,这就是为什么我想这样做。任何人都可以解释如何或者如果有更好的方法吗?谢谢 –

+0

只需要清楚:通过URL访问它将运行远程服务器上的代码并向您发送程序的输出。你想要的还是你想下载实际的代码?从问题(或来自您的评论)中不完全清楚你想要的是哪一个。但是如果你想下载代码,我的建议是不要这样做。 – Spudley

回答

0

在我看来,你正试图在test.php上显示动态信息(如HTML或文本),无论哪个脚本访问它。从那里,你想从test.php中获取信息,并通过提取源代码并回显给index.php来传递它呢?纠正我,如果我错了。

这是可以使用$ _GET变量实现的。将网址的末尾加上?i=,您已经朝着正确的方向前进。

像这样的事情应该可以帮助您大致达到你想要的东西: (test.php的)

if (isset($_GET['i]') { 
    switch ($_GET['i']) { 
     case 'http://www.domain2.com/index.php': 
      echo 'You\'re on domain2.com'; 
      break; 
     case 'http://www.domain3.com/index.php': 
      echo 'You\'re on domain3.com'; 
      break; 
    } 
} 

index.php文件应该可以正常工作是怎么回事,除非存储在变量中的数据有关的路径您当前所在的页面不正确。

+0

我其实想要在domain2.com,domain3.com等页面上显示动态信息。所有的信息将被放置在test.php文件中,但它将被选择性地提取以显示文件的预定义部分,取决于哪个站点访问它。因此,在domain2.com上,不同信息将被提取并插入到源代码中,而不是在domain3.com上提取和插入的信息等。这将如何完成? –

+0

我发布的解决方案将实现您所需的解决方案。把它放在test.php里面。 在你的index.php文件中,file_get_contents()将test.php中的html保存到一个变量中,然后你正在回应该变量(本质上,你显示的是test.php(它是基于访问它的网页动态生成的) )在index.php里面)。您正在index.php上动态显示来自test.php的动态信息。 – anditpainsme

+0

大卫,幸运吗? – anditpainsme

相关问题