php中http_build_query 的一个问题


Posted in PHP onMarch 25, 2012

当我们使用CURL来post数据的时候,需要设置post的数据
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

假如这里的$data是

$data = array( 
'name'=>'scofield', 
'time'=>'2012-2-3' 
)

接下来,需要先将$data变成字符串
$post_data = http_build_query($data);
而采用 http_build_query 转换后再
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

看起来没有什么问题。但在实际操作中,$post_data 并没有被post过去。于是,自己写了个转换的方法后就OK了。

function getStr($array,$Separator='&') { 
if (empty($array)) 
return; 
if (!is_array($array)) { 
return $array; 
} 
$returnStr = ''; 
foreach ($array as $key => $val) { 
$temp = ''; 
if (is_array($val)) { 
for ($i = 0; $i < count($val); $i++) { 
$returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator; 
} 
} else { 
$returnStr.= $key . '=' . $val . $Separator; 
} 
} 
$returnStr = substr(trim($returnStr), 0, -1); 
return $returnStr; 
}

感谢 黄斌-huangbin 童鞋的测试 http_build_query($data,"","&"); 即可,无需自己写方法解析了。

http_build_query 远程攻击者可以利用漏洞获得敏感内存信息。请大家谨慎使用

PHP 相关文章推荐
php 更新数据库中断的解决方法
Jun 05 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
php中explode函数用法分析
Nov 15 PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
thinkPHP实现签到功能的方法
Mar 15 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 PHP
php正则表达匹配中文问题分析小结
Mar 25 #PHP
二招解决php乱码问题
Mar 25 #PHP
php引用地址改变变量值的问题
Mar 23 #PHP
奇怪的PHP引用效率问题分析
Mar 23 #PHP
php地址引用(php地址引用的效率问题)
Mar 23 #PHP
PHP遍历数组的几种方法
Mar 22 #PHP
php遍历数组的方法分享
Mar 22 #PHP
You might like
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
新版小程序登录授权的方法
2018/12/12 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
vue中改变滚动条样式的方法
2020/03/03 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
用python爬取租房网站信息的代码
2018/12/14 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
python实现桌面气泡提示功能
2019/07/29 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
Python递归实现打印多重列表代码
2020/02/27 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
美国折扣网站:jClub
2017/08/07 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
思想品德自我评价
2014/02/04 职场文书
艺术节主持词
2014/04/02 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
python turtle绘图命令及案例
2021/11/23 Python