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 之 没有mysql支持时的替代方案
Oct 09 PHP
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
PHP类的反射用法实例
Nov 03 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
php比较两个字符串长度的方法
Jul 13 PHP
PHP读取PPT文件的方法
Dec 10 PHP
php日期操作技巧小结
Jun 25 PHP
php微信支付接口开发程序
Aug 02 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
详解Go与PHP的语法对比
May 29 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
关于尾递归的使用详解
2013/05/02 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
JS常用函数使用指南
2014/11/23 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python修改注册表终止360进程实例
2014/10/13 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
python字符串中的单双引
2017/02/16 Python
python中partial()基础用法说明
2018/12/30 Python
python如何实现递归转非递归
2021/02/25 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
公司接待方案
2014/03/08 职场文书
心理健康日活动总结
2014/05/08 职场文书
宣传标语大全
2014/07/01 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
详解Vue slot插槽
2021/11/20 Vue.js
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫