【问题标题】:Is there other way to include a php file on a remote server? Other than <?php include(); ?> [closed]有没有其他方法可以在远程服务器上包含一个 php 文件?除了 <?php include(); ?> [关闭]
【发布时间】:2012-07-10 23:11:05
【问题描述】:

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

反正我不关心脚本语言,只要有办法嵌入那个页面就行了。

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

【问题讨论】:

  • 您不能在 php 中包含来自远程服务器的 php 文件
  • @Kyokasuigetsu:其实你可以,但是会发生什么可能会出乎意料。
  • 很高兴听到您不在乎,您只想使用粘贴即用解决方案,没有您尝试过什么,没有任何实际知识
  • 其实可以,试试include('http://someserver.com/somefile.php');。危险的地狱!
  • 他不想包含,他只想显示内容

标签: php javascript jquery html scripting


【解决方案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;

打开

$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、通过 iframe...

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 我猜你是在正确的轨道上。我的脚本与数据库位于同一位置,所以整个事情都是本地的。唯一的问题是我不知道如何让该脚本的内容远程显示。
    • @PopaAndrei:您的 WP 插件将使用 curl() 来调用您的脚本。换句话说,有一个内容生成脚本与您的数据库位于同一服务器上,并且有一个内容拉取脚本远离您的服务器。
    【解决方案3】:

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

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

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

    【讨论】:

      【解决方案4】:

      【讨论】:

      • mightyuhu 是对的。使用 是最简单的方法。客户没有任何编码知识,这就是我要求“粘贴即走”类型脚本的原因。不是实际的脚本......一些指针会很棒。
      猜你喜欢
      • 1970-01-01
      • 2012-11-05
      • 2015-11-06
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2018-02-15
      相关资源
      最近更新 更多