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 相关文章推荐
织梦模板标记简介
Mar 11 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
基于CakePHP实现的简单博客系统实例
Jun 28 PHP
php析构函数的简单使用说明
Aug 24 PHP
php实现倒计时效果
Dec 19 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
PHP中empty,isset,is_null用法和区别
Feb 19 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 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
PHP 命令行参数详解及应用
2011/05/18 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
php解析xml方法实例详解
2015/05/12 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
js自定义事件代码说明
2011/01/31 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
python实现端口转发器的方法
2015/03/13 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
毕业证丢失证明
2014/01/15 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
调解协议书
2014/04/16 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
大学军训通讯稿
2015/07/18 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
德劲DE1108畅想
2021/04/22 无线电
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers