2009-11-06 86 views
1

我想编写一个处理来自远程客户端的数据请求的轻量级PHP服务器。返回的数据是表格式(就像从CSV文件或数据库表中读取的数据一样)。 “问题”是我可能会返回潜在的数十万行数据 - 列宽在10-15之间(取决于请求的数据类型)。轻量级RESTful PHP服务器

总之,返回的数据可能是巨大 - 并试图以节省带宽,并且也增加了传输的速度,我想对数据进行压缩(也许选择性地加密它,而我们在它)然后将其发送回客户端。

我不知道如何编写服务器端脚本来处理请求(并发送数据或错误代码)。

为了简单起见,让我们假设我读平面文件中的数据,使用的fopen,我能有这样的事情:

<?php 
    // extract request variables and determine action required based on REQUEST params 
    // handle request (fetch requested data) 
    // if no error then return compressed (and encrypted?) data 
    // else if error return error code 
?> 

我不是很熟悉PHP,可能有人请帮助我“充实”这个存根代码多一点(特别是当我们通过HTTP头返回压缩数据(或错误代码)等)。

最后但并非最不重要的一点,我必须指出客户端可能在另一个平台和另一种语言(我将用C++编写客户端)上运行,所以我想使用PLAIN ASCI文本数据传输(与XML非常详细,需要解析另一端)相反。

+1

出于好奇,你打算为这个问题设置一个奖励,还是应该接受我的回答?问候。 – 2009-11-15 02:57:08

回答

2

我可能会建议你为你的REST服务器使用ZendFramework。基本惯例已经为您执行,这将允许您专注于您的具体要求(数据,文本,压缩等)。

这里是Zend的REST的参考手册页: http://framework.zend.com/manual/en/zend.rest.server.html

而且,这里有一个博客帖子我以我个人的经验,使用Zend REST写道: http://ajcoon.blogspot.com/2009/09/rest-services-supporting-xml-and-json.html

即使我用它来恢复XML和JSON,人们可以轻松定义他们自己的视图,为他们的数据使用不同的编码/格式。