PHP Web服务,以大尺寸发送xml数据

时间:2012-11-28 04:42:22

标签: php web-services

给予贝娄是我的任务。

我有一个在codeigniter中开发的应用程序,该应用程序总是通过Web服务从客户那里获取数据。在大多数情况下,数据(xml)的大小会很大。这是我被卡住的地方。如何通过Web服务将这些潜在客户数据发送到服务器。我计划使用REST Web服务

实现它

一个选项是读取xml数据并将内容作为参数与请求一起发送。 像...

$xmlfile = "leads.xml";
$xmlRaw = file_get_contents($xmlfile);

include 'RestClient.class.php';

$url = "http://localhost/apps/index/";
$ex = RestClient::post($url,array('requestType' =>'sendLead',
                                                        'username' => $name,
                                                         'pass' =>$pass,
                                                         'leadXML'=>$xmlRaw));

但是对于大文件,我不认为它会正常工作..

另一种选择就是这样......

Client side                                                                          server
------------------                                                                  --------------------

// send a request to the server with xml file name             

rest::sendLeads("leads.xml"){                                  |    sendLeads(){
                                                               |
                                                               |     $filename =$this->post('filename');
}                                                              |  // calling a client side function and collecting the xml data
                                                               | $xmldata =  getdata($filename);
                                                               |        }
getdata(filename){                                             |

reading xml content and send back it to the server

return $xmldata;
}

是否可以实现这样的事情。这里我们不需要将内容作为参数发送。

1 个答案:

答案 0 :(得分:0)

也许你应该每隔5(?)分钟在服务器上使用cron? 在客户端,您将发送最后解析的数据。 cron