我已经构建了一个从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会允许类似的事情发生。