在运行时在php中包含来自外部站点的数据

时间:2013-02-05 04:11:35

标签: php javascript html ajax codeigniter

我正在开发一个PHP的个人项目,我需要在运行时获取并包含数据,或者在页面加载之后很容易,并将其插入页面标记中,就好像它是原生的一样。 / p>

一个简单的现实生活中的例子就是,像Facebook一样,它实时获取“喜欢的数据”,并在第三方网站上显示。

另一个例子是voltrank,seo系统,他们要求你在php中呈现的页面中插入一段代码,然后用你的数据库中的链接填充你提供的空间。它首先给出了链接的感觉,而不是外部插入。

是的,这两个站点(数据源+数据目的地)都是我的,因此对内容/抓取/或任何代码实现没有任何限制。

我不希望它是基于iframe的解决方案,因为我想将值传递给源站点/ url,并希望它根据该值返回输出。

此外,我甚至不在这里要求整个解决方案,我想要的只是在PHP编程中的一些伟大的神童,指导我正确的方向,因为我甚至无法弄清楚这个过程究竟是什么/所谓的事情,这使我更难以研究。

此致 (如果这个问题太天真,请不要强烈反对我)

PS:Offcourse我希望从中提取内容的网站有一个数据库系统。

我的偏好更倾向于将它变成'未来'的公共系统,在那里我要给我的客户一个特定的代码片段(更像是facebook),然后通过将代码放在他们的网站上,他们是能够从我的应用程序中获取各自的数据。

3 个答案:

答案 0 :(得分:2)

你想要php-curl。 http://php.net/manual/en/book.curl.php

这是一个不错的小功能

    function curl_download($Url) {
        if (!function_exists('curl_init')) {
            die('Sorry cURL is not installed!');
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $Url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }

    $a = curl_download('http://www.yoursite.com/file.txt');
    echo $a;

您还应该查看ajax .get(),. load()。jsonp()。你会遇到使用ajax进行跨域调用的问题,但是php并不介意。这完全取决于您是否真的需要在PHP的运行时间内显示的信息,或者如果您想快速加载html页面,然后使用ajax来获取数据,并填写数据。

答案 1 :(得分:1)

据我所知,您需要从其他网站获取数据并实时在您的网站中显示。

一周前我做了类似的工作。我做的是,

  • 使用ajax调用包含已获取详细信息的页面。

  • 使用settimeout jQuery定期刷新被叫页面 时间间隔。

  • 用户不会知道刷新,因为刷新页面是由 AJAX。

希望它有所帮助。

答案 2 :(得分:0)

我认为Codeigniter挂钩可能是你的答案。查看钩点,看看哪一个最符合您的需求:

http://ellislab.com/codeigniter/user-guide/general/hooks.html

你可以在

上调用一个钩子
  

post_controller

  

post_system

例如。