首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中处理(在数据库中插入)传入的流数据?

如何在php中处理(在数据库中插入)传入的流数据?
EN

Stack Overflow用户
提问于 2014-06-06 20:32:53
回答 1查看 234关注 0票数 0

我不断地从gnip获得json格式的gnip库中的twitter流数据。

下面是我的代码

代码语言:javascript
复制
    require_once('vendor/autoload.php');
    $url =https://stream.gnip.com:443/accounts/{account_name}/publishers/twitter/streams/track/dev.json";
    $username = '*****';
    $password = '*****';
    $headers = array('Accept-Encoding' => 'gzip');

    $client = new GuzzleHttp\Client();
    $client->setDefaultOption('headers/Accept-Encoding', 'gzip');
    $data = $client->get($url, ['auth' => [$username, $password]]))
    {
      $tdata = $data->getBody();
     //here i am getting json data continuously,that I have to insert in my db.
     //I have written my code to insert in db and it is inserting in db but after some      time it will not insert in db.


    }

所以请建议我,如果有其他最好的方法或一些php库可用。

EN

回答 1

Stack Overflow用户

发布于 2014-06-06 20:46:13

作为最佳实践,您可以实现一个rest服务来在db中插入数据。假设你有一个rest服务;

代码语言:javascript
复制
/data/insert

您将把每个流数据发送到该服务,如;

代码语言:javascript
复制
functiond insertData($data) {}
    $url = 'http://domain.com/data/insert';
    $fields = array(
                            'field1' => urlencode($data["field1"]),
                            'field2' => urlencode($data["field1"]),
                            'field3' => urlencode($data["field1"])
                    );

    foreach($fields as $key=>$value) { 
        $fields_string .= $key.'='.$value.'&'; 
    }
    rtrim($fields_string, '&');

    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_POST, count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

    $result = curl_exec($ch);

    curl_close($ch);
}

当你得到流数据时,只需运行这个函数,而不关心如何在db中插入数据。也许,你可以在服务端处理数据插入部分。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24081957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档