并且与服务器端的传输方式有用GET或POST等
我这里说的是当传送xml或json数据时,
PHP与其他服务器端语言不同之处在于,他将请求的数据封装到了服务器变量中(可能说的不对)
这样对于使用者,可以很简单的就取得GET或POST的值
但是,当直接发送xml或json时,应该是一个数据流的形式发送到服务器!
但是PHP表面上并没有接收数据流的函数。这个问题困扰许久。
(其他的语言,如asp/jsp都可以通过request组件接收数据流)
经过在网上查询以及查看一些例子,终于发现了解决办法!!
原来php是可以获得传输过来的数据流!!
$input = file_get_contents('php://input');
以上代码就可以获得一个post过来的数据流,至于内容,就要看发送的数据了,可能只是文本,也可能是二进制
file_get_contents函数可以在php4.3.0以后使用!!
这样困扰许久问题解决了!!。
在发现使用php://input可以获得一个数据流,是不是可以发送一个输出流呢!答案是肯定的!
使用file_put_contents函数
file_get_contents('php://output',$input);
这样,刚提交过来的信息,就会输出到网页上!!和echo及print差不多吧!!
但是file_get_contents只能在php5后使用!!
现在的ajax框架越来越多,并且每种框架中使用的传送格式,也不一样!!框架只在于让我使用更加简单,提高开发效率!
并且本身封装了一个底层的原理!!如果要学的更深,更加透彻,应该拨开表面,了解本质的东西,这样就才能以不变应万变!
好久没发贴子了!!一直在替水,以上是最近的工作经验!! 猜你喜欢