php接口传输数据格式,php输出数据类型

如何用php给一个php页面发送大量数据,格式是json数据,里面有许多行

//采集的信息需要先登录的就要先模拟登录

创新互联专业为企业提供裕民网站建设、裕民做网站、裕民网站设计、裕民网站制作等企业网站建设、网页设计与制作、裕民企业网站模板建站服务,十多年裕民做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

//设置cookie保存路径

$ch = curl_init();

//组装用户名和密码

$info['username'] = $this-username;

$info['password'] = $this-pwd;

//模拟表单提交

$params[CURLOPT_URL] = $this-url;    //请求url地址

$params[CURLOPT_HEADER] = true; //是否返回响应头信息

$params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回

$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向

// $params[CURLOPT_SSL_VERIFYPEER] = true; // https请求 不验证证书和hosts

// $params[CURLOPT_SSL_VERIFYHOST] = true; // https请求 不验证证书和hosts

$params[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';

$postfields = '';

//将表单要提交的数据编程URL拼接方式

foreach ($info as $key = $value){

$postfields .= urlencode($key) . '=' . urlencode($value) . '';

}

$params[CURLOPT_POST] = true;

$params[CURLOPT_POSTFIELDS] = $postfields;

//判断是否有cookie,有的话直接使用

/*

if (isset($_COOKIE['cookie_jar'])($_COOKIE['cookie_jar']||is_file($_COOKIE['cookie_jar']))){

$params[CURLOPT_COOKIEFILE] = $_COOKIE['cookie_jar']; //这里判断cookie

}else{

$cookie_jar = tempnam($this-cookie_path, 'cookie'); //产生一个cookie文件

$params[CURLOPT_COOKIEJAR] = $cookie_jar; //写入cookie信息

setcookie('cookie_jar', $cookie_jar); //保存cookie路径

}

*/

curl_setopt_array($ch, $params); //传入curl参数

$content = curl_exec($ch); //执行

php两个网页数据传输有几种方式,每一种怎么用,要求写代码.

1. get是从服务器上获取数据,post是向服务器传送数据。

2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:

1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

get 传值是网址是 ;xxx=xxxx xxx 是参数

post 要要提交表单的 地址就不会出现上面的那种

php怎么接收json数据格式

PHP接收JSON格式的数据

在API服务中,目前流行采用json形式来交互。

给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据。

接收前端提交的json数据稍微复杂一点,原因是:PHP默认识别的数据类型是application/x-标准的数据类型。因此,对型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之类的内容无法解析,如果用$_POST数组来接收就会失败!

此时可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 来获取提交的数据

查看手册,可以发现$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的区别:

$_POST:通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。

$GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。也就是说基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一样的。但是如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。

php如何发送和接收JSON数据

对于json,PHP有对应的方法进行操作。

一般而言,json会以字符串形式传给PHP脚本,一般都是放在$_POST里面,

14

?php

// 接收

$json_parameter = $_POST['json_str'];

// 处理, 变成数组

$array = json_decode($json_parameter);

// PHP 把数组数据变成json格式字符串,发给页面

$demo = array(

'key' = 'value',

'key2' = 'value2'

);

$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}

echo $demo_json;

PHP 后台接口返回小程序端的数据,在数据前面出现了乱码情况,怎么解决

这种情况发生在以UTF-8编码格式传输数据的时候,这开头的三个字节叫做BOM(Byte Order Mark,字节顺序标记),小程序接收到php端返回的数据后,把开头的三个字节去掉即可。

更彻底的解决办法是把php文件保存为 不带BOM的UTF-8 文件,这样返回的数据就不带BOM了

PHP 关于接收接口传递数据的问题。。

第一个字母表示类型 count表示ID数量 / 隔开 ild,ild,ild来记录数据(我是按照你的意思来)

比方

i5/1,2,3,4,5

类型为int 一共5个 分别1,2,3,4,5

其实有必要么。。。直接i:1,2,3,4,5不就行了

不一样的话这样写 i:1,2,3|s:4,5,6

懂了吗?


分享名称:php接口传输数据格式,php输出数据类型
文章来源:http://pwwzsj.com/article/hohcsj.html