首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP文件在服务器之间自动存储和发送JSON数据

使用PHP文件在服务器之间自动存储和发送JSON数据
EN

Stack Overflow用户
提问于 2016-02-16 20:48:52
回答 2查看 1.7K关注 0票数 0

我在一家小型初创公司做网页设计师,我的任务是创建一个PHP程序/文件,每当新用户注册应用程序或做许多其他事件时,该程序/文件将从我们的应用程序后端服务器接收JSON数据,处理这些数据并将其发送给我们的CRM (Insightly)。

当涉及到网站设计时,我对PHP有相当好的理解,但我从未真正使用它来处理这样的数据。我最初的想法是在Azure服务器上为每个事件设置一个.json文件,并让后端将数据写入其中一个文件。数据以POST数据的形式出现(而不是来自表单),我使用php://input来收集数据并将其写入.json文件。Azure服务器将定期运行我的PHP程序,以检查文件中是否有数据,如果存在,则将数据发送到Insightly。

但是,与我一起工作的开发人员希望接收一个新的联系人ID/Project /etc,Insightly将其作为HTTP响应立即生成。所以基本上:

  1. 后端服务器将json数据发送到服务器上的.json文件或PHP脚本。
  2. PHP要么立即读取.json文件,要么直接将数据放到数组中以发送给Insightly
  3. 错误地创建一个新项目/联系人/组织,并将其创建的ID返回给PHP脚本
  4. PHP脚本将该ID作为HTTP响应发送回后端

因此,我的问题是,如何让PHP“侦听”.json文件以立即运行Insightly操作和/或如何在Insightly更新完成后向后端服务器发送HTTP响应?真的,做这件事最好的方法是什么?任何建议或建议都有帮助。

EN

回答 2

Stack Overflow用户

发布于 2016-02-16 21:02:06

在不涉及太多细节的情况下,您不希望使用文件来接收JSON。让服务器指向您的PHP脚本之一(即JSONhandler.php)。然后,您可以将JSON解码为一个对象,对它做您需要做的任何事情,然后回显一个响应。这是REST工作方式的基本示例。

$jsonstr =$_POST‘’data in‘;

$jsonObj = json_decode($jsonstr);

//处理数据

回声$id;//其中id是由您的洞察力代码生成的

票数 2
EN

Stack Overflow用户

发布于 2016-02-17 07:16:01

Azure服务上的每个PHP脚本都可以被看作是几个REST APis的集合。

假设您使用Azure Web应用程序来托管PHP脚本。您可以创建一个PHP脚本来处理所有这些操作。

我们模仿名为"handler.php“的PHP脚本,然后有一个像"http://<you_azure_web_app_name>.azurewebsites.net/handler.php”这样的脚本端点。后端将直接将数据发送到这个url。

然后,您可以像这样创建PHP脚本:

代码语言:javascript
复制
<?php
    //get post data
    $post_data = file_get_contents('php://input');
    //convert data from jsonstr to (array) stdclass object 
    $data = (array) json_decode($post_data);

    //handle $data 
    $handled_data = some_handle_operations($data);

    //post your handled data to Insightly and get the id
    $response_result = some_post_functions_depends_your_choice($handled_data);

    //handle the respone result to get the id (what you want here)
    $id = some_operations_to_get_id_from_result($response_result);

    //response to your backend
    echo $id;

为了在PHP中进行HTTP请求,有几种流行的函数。

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

https://stackoverflow.com/questions/35442669

复制
相关文章

相似问题

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