php5.6,curl上传的变化
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false); //php5.6要加上这个
$fields = array();
$fields ['file'] = '@' . $file;
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
$response = curl_exec ( $ch );
php5.6之前上传图片和同时传数组的例子:
$file = __DIR__ .'/1.jpg;type=image/jpeg';
$data = array(
'w_type' => 1,
'w_ip' => '111.111.111.111',
'eqroom_id' => 104,
'eqroom_name' => '南宁机房',
'w_domain[0]' => 'baidu.com',
'w_domain[1]' => 'weibo.com',
'w_contacts_man' => '陈活跃',
'w_contacts_phone' => '134329xx545',
'w_shengid' => '110000',
'w_shiid' => '110100',
'w_xianid' => '110101',
'w_address' => '红旗北路',
'w_certificate' => 1,
'w_certificate_no' => '440902xxxx1017081X',
'w_certificate_file' => '@' . $file,
);
$result = curlUpload($url, $data);
图片路径需加上 type ,要不后台接收到的图片类型为错的。
/**
* CURL的Upload请求
*
* @param string $url 请求的URL地址
* @param array $data 请求的参数
* @return string
*/
function curlUpload($url, $data=array())
{
//$data = http_build_query($data); //如果不是上传文件的,需要加上这个
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
//curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); //php5.6要加上这个
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
php5.6,curl上传的变化的更多相关文章
- PHP使用CURL上传|下载文件
CURL下载文件 /** * @param string $img_url 下载文件地址 * @param string $save_path 下载文件保存目录 * @param string $fi ...
- php curl上传文件$_FILES为空问题
php使用curl上传文件,代码如下: 发送的代码(完全是官方的示例) <?php /* http://localhost/upload.php:print_r($_POST);print_r( ...
- PHP 5.6 如何使用 CURL 上传文件
以前我们通过 PHP 的 cURL 上传文件是,是使用“@+文件全路径”的来实现的: curl_setopt(ch, CURLOPT_POSTFIELDS, array( 'file' => ' ...
- PHP如何通过CURL上传文件
PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变 ...
- [PHP]curl上传多文件
码一下curl上传多文件的行 5.5之前版本的写法 $file = array( 'pic[0]'=>"@E:\\wwwroot\\10003\\temp_56.ini;type=te ...
- linux使用curl上传文件并且同时携带其它传递参数
一般使用linux原生态的命令curl上传文件时命令如下 假如要上传文件是myfile.txt curl -F "file_name=@myfile.txt" -X POST &q ...
- curl 上传文件
1)在 php 5.5.0 之前,如果使用 @+文件路径的文件上传文件,具体看这里:http://www.cnblogs.com/tujia/p/5938463.html 2)php 5.5.0 之后 ...
- PHP 5.5以上 使用 CURL 上传文件
PHP 5.5以上 使用 CURL 上传文件的代码: curl_setopt(ch, CURLOPT_POSTFIELDS, [ 'file' => new CURLFile(realpath( ...
- 解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题
解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题 官方上传命令 curl -F file=@"315.apk" -F uKey=XXX ...
随机推荐
- 《RocketMQ 安装和使用》
安装Maven 安装步骤:<Maven的安装.配置及使用入门> http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.htm ...
- jq中append()、prepend()、after()、before()的区别详解
1.append() - 在被选元素的结尾插入内容(内容的结尾,比如说有个a标签,则是在</a>这个标签之前添加东西) 2.prepend() - 在被选元素的开头插入内容(内容的开始,比 ...
- es6基础入门变量的解构赋值
let [a, b, c] = [1, 2, 3]; let [foo, [[bar], baz]] = [1, [[2], 3]]; foo bar baz let [ , , third] = [ ...
- 条款39:明智的使用private继承
首先看一下private继承的法则:class之间的继承关系如果是private的话,那么编译器不会将一个derived对象自动当作为一个base class对象. 从base class继承而来的所 ...
- Codeforces Round #266 (Div. 2)B(暴力枚举)
很简单的暴力枚举,却卡了我那么长时间,可见我的基本功不够扎实. 两个数相乘等于一个数6*n,那么我枚举其中一个乘数就行了,而且枚举到sqrt(6*n)就行了,这个是暴力法解题中很常用的性质. 这道题找 ...
- Android Volley完全解析(四),带你从源码的角度理解Volley
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17656437 经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是 ...
- mac外接键盘修饰键设置
command 和 control 互换,option保持不变即可,差不多可以做到类似windows快捷键的使用习惯.
- [leetcode]_Flatten Binary Tree to Linked List
题目:将一棵二叉树履平成一个类似Linked-list的东西. 思路:该过程类似于二叉树的前序遍历,但是遍历代码,我处理不来参数的变化.没AC. -------->写的很好的解题博客 参考上述博 ...
- Docker-安装与部署
本文在CentsOS下安装Docker 1.安装前准备工作 系统要求: 在CentOS下需要64位的CentsOS 7 OS requirements To install Docker, you ...
- ACM学习历程—SNNUOJ1214 矩阵1(二分)
题目链接:http://219.244.176.199/JudgeOnline/problem.php?id=1214 这是这次微软实习面试的一道题,题目大意就是:有一个n*m的矩阵,已知它每一行都是 ...