还有其他方法在远程服务器上包含php文件吗?除了<! - ?php include(); ? - >

时间:2012-07-11 10:39:52

标签: php javascript jquery html scripting

我已经构建了一个从MySQL数据库中提取信息的php脚本,我希望在某些远程服务器上包含该脚本(它是从数据库中提取的内容)。那些客户拥有使用joomla / wordpress构建的网站,并使用简单的php include();在文章/帖子内不起作用。我需要一些易于使用的东西,如果你愿意,可以使用“粘贴即用”解决方案。

无论如何,我不关心脚本语言,只要有办法嵌入该页面。

有人告诉我,它可以通过javascript完成,文件将在本地调用该页面,然后是另一段远程调用该脚本的代码。对不起,如果这令人困惑......

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

对于php方面的事情......

包含/需要/ include_once ...

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

实际应该有效,除非您的服务提供商将一些脑细胞投入到安全性中。

<强>的file_get_contents

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

<强>的fopen

$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 / curl调用shell ...

exec('wget http://example.com/yourpage.php', $array);

echo implode('<br />', $array);

有无数种方式...... - 很确定我忘了一些 - 通过javascript(ajax / xhr),html5,iframes来做到这一点......

答案 2 :(得分:0)

你可以使用像JSONP这样的纯jevascript解决方案。或者使用例如xml-rpc,json-rpc,soap等定义rpc接口,并如您所述通过php脚本获取数据。仅使用include for this并不是一个好主意,因为该功能不适用于此。

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

您可以为您的客户编写一个他们可以轻松使用的课程,您也可以通过正确的方式获得信息。

答案 3 :(得分:0)

听起来你需要一个AJAX请求来从PHP脚本中提取结果集。由于PHP脚本需要查看“外部”URL,请查看curl的PHP文档。

对于WordPress客户端,您的粘贴功能可能采用shortcode的形式。您将编写一个WordPress插件来封装上述所有内容。

我假设Joomla会允许类似的东西。