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 相关文章推荐
一个很方便的 XML 类!!原创的噢
Oct 09 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 PHP
非常重要的php正则表达式详解
Jan 04 PHP
php单例模式的简单实现方法
Jun 10 PHP
php格式文件打开的四种方法
Feb 24 PHP
php tpl模板引擎定义与使用示例
Aug 09 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 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版)
2006/10/09 PHP
PHP4实际应用经验篇(5)
2006/10/09 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
Python3.5 创建文件的简单实例
2018/04/26 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
解决python对齐错误的方法
2020/07/16 Python
python中的yield from语法快速学习
2020/11/06 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
如何理解委托
2012/01/06 面试题
机械电子工程专业推荐信范文
2013/11/20 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
我的中国梦口号
2014/06/16 职场文书
汽车转让协议书
2015/01/29 职场文书
感恩教师主题班会
2015/08/12 职场文书
Oracle用户管理及赋权
2022/04/24 Oracle