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内存不够用的快速解决方法
Oct 26 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
thinkphp使用literal防止模板标签被解析的方法
Nov 22 PHP
php源码分析之DZX1.5加密解密函数authcode用法
Jun 17 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
2015/04/13 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
python统计字符的个数代码实例
2020/02/07 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
CSS3实现全景图特效示例代码
2018/03/26 HTML / CSS
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
旅游管理本科生求职信
2013/10/14 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
2014年作风建设心得体会
2014/10/22 职场文书
综合素质评价自我评价
2015/03/06 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers