在PHP中包含远程文件

时间:2013-03-26 07:43:48

标签: php include

我无法在PHP脚本中包含远程PHP文件。 这就是我所做的:

  1. 在php.ini上将allow_url_include设置为on
  2. 将以下内容添加到索引顶部

    $content = file_get_contents('http://domain.com/folder/file.php'); 
    
  3. 但仍然无法使用远程服务器中的file.php中的任何函数。 错误:

    PHP Fatal error:  Call to undefined function makeConnection()
    

    注意: makeConnection()在file.php

3 个答案:

答案 0 :(得分:2)

file_get_contents和include不一样,file_get_contents只获取文件内容(就像它自己的名字所说),include执行文件中的代码...
那么你只想获取文件内容或从远程服务器执行代码吗?

如果你想包括它只是

include('http://domain.com/folder/file.php');

答案 1 :(得分:2)

如果你的意思是在外部file.php中声明函数'makeConnection()',那么你将看不到该函数,因为外部服务器正在解析php代码 NOT 你是原始代码。

您需要将外部file.php保存为file.txt之类的内容,以便服务器在不进行处理的情况下返回内容。

试一试,看看它是否适合你。

如果确实如此,那么你可以更有效地计划一些事情。

答案 2 :(得分:-1)

下载代码后使用eval()功能:

<?
$content = file_get_contents('http://domain.com/folder/file.php'); 
eval($content)
?>

但要注意不加检查包含其他来源的内容。