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的FTP学习(一)
Oct 09 PHP
PHP 身份证号验证函数
May 07 PHP
php 获取远程网页内容的函数
Sep 08 PHP
php中删除、清空session的方式总结
Oct 09 PHP
php制作的简单验证码识别代码
Jan 26 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
浅谈ThinkPHP中initialize和construct的区别
Apr 01 PHP
php readfile()修改文件上传大小设置
Aug 11 PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 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/04/13 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php网站地图生成类示例
2014/01/13 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
用JS实现3D球状标签云示例代码
2013/12/01 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
wxPython实现绘图小例子
2019/11/19 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
槐乡的孩子教学反思
2014/04/27 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
快递员岗位职责
2014/09/12 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
golang中的并发和并行
2021/05/08 Golang