有没有其他方法可以在远程服务器上包含php文件?除了<;?php include()>;


Is there other way to include a php file on a remote server? Other than <?php include(); ?>

我已经构建了一个从MySQL数据库中提取信息的php脚本,我想在一些远程服务器上包括该脚本(它是从数据库中提取的内容)。这些客户端使用joomla/wordpress构建网站,并使用简单的php-include();在一篇文章/帖子中是行不通的。我需要一些易于使用的东西,如果你喜欢的话,一个"粘贴式"解决方案。

不管怎样,我不在乎脚本语言,只要有办法嵌入那个页面。

有人告诉我,这可以通过javascript完成,其中一个文件将在本地调用该页面,然后另一个代码将远程调用该脚本。很抱歉,如果这让人困惑。。。

请参阅:http://php.net/manual/en/features.remote-files.php

对于php方面的东西。。。

包含/要求/包含一次

include 'http://www.example.com/yourfile.php'; 

实际上应该有效,除非你的服务提供商在安全方面投入了一些脑细胞。

文件集内容

$homepage = file_get_contents('http://www.example.com/yourfile.php');
echo $homepage;

打开

$file = fopen ("http://www.example.com/yourfile.php", "r");
if (!$file) {
    echo "<p>Unable to open remote file.'n";
    exit;
}
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    echo $line;
}
fclose($file);

卷曲

$url  = 'http://www.example.com/yourfile.php';
$path = '/yourfile.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $data; 
curl_close($ch);

wget/ccurl通过shell调用

exec('wget http://example.com/yourpage.php', $array);
echo implode('<br />', $array);

有无数种方法我肯定忘记了一些——要做到这一点,通过javascript(ajax/xhr)、通过html5、通过iframes。。。

您可以使用类似JSONP的东西作为纯jevascript解决方案。或者定义一个rpc接口,例如xml-rpc、json-rpc、soap等,并通过您描述的php脚本获取数据。只使用include不是一个好主意,因为函数不是为此而设计的。

我喜欢在服务器端使用一个简单的json_encode,并通过curl获取da数据,然后通过json_decode将其解码回,因为大多数时候a不需要完整的rpc实现。

你可以为你的客户编写一个类,他们可以很容易地使用,你也可以得到他们以正确的方式获得信息的证书。

听起来您需要一个AJAX请求来从PHP脚本中提取结果集。由于PHP脚本需要查看"foreign"url,请查看curl的PHP文档。

对于WordPress客户端,你的粘贴功能可能是一个短代码的形式。您可以编写一个WordPress插件来封装以上所有内容。

我想Joomla会允许类似的事情发生。