1. $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false); //php5.6要加上这个
  2. $fields = array();
  3. $fields ['file'] = '@' . $file;
  4. curl_setopt ( $ch, CURLOPT_URL, $url );
  5. curl_setopt ( $ch, CURLOPT_POST, 1 );
  6. curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );
  7. curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
  8. $response = curl_exec ( $ch );

php5.6之前上传图片和同时传数组的例子:

  1. $file = __DIR__ .'/1.jpg;type=image/jpeg';
  2. $data = array(
  3. 'w_type' => 1,
  4. 'w_ip' => '111.111.111.111',
  5. 'eqroom_id' => 104,
  6. 'eqroom_name' => '南宁机房',
  7. 'w_domain[0]' => 'baidu.com',
  8. 'w_domain[1]' => 'weibo.com',
  9. 'w_contacts_man' => '陈活跃',
  10. 'w_contacts_phone' => '134329xx545',
  11. 'w_shengid' => '110000',
  12. 'w_shiid' => '110100',
  13. 'w_xianid' => '110101',
  14. 'w_address' => '红旗北路',
  15. 'w_certificate' => 1,
  16. 'w_certificate_no' => '440902xxxx1017081X',
  17. 'w_certificate_file' => '@' . $file,
  18. );
  19. $result = curlUpload($url, $data);

图片路径需加上 type ,要不后台接收到的图片类型为错的。

  1. /**
  2. * CURL的Upload请求
  3. *
  4. * @param string $url 请求的URL地址
  5. * @param array $data 请求的参数
  6. * @return string
  7. */
  8. function curlUpload($url, $data=array())
  9. {
  10. //$data = http_build_query($data); //如果不是上传文件的,需要加上这个
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_URL, $url);
  13. curl_setopt($ch, CURLOPT_HEADER, 0);
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  15. curl_setopt($ch, CURLOPT_POST, 1);
  16. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  17. curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  18. //curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); //php5.6要加上这个
  19. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  20. $result = curl_exec($ch);
  21. curl_close($ch);
  22. return $result;
  23. }

php5.6,curl上传的变化的更多相关文章

  1. PHP使用CURL上传|下载文件

    CURL下载文件 /** * @param string $img_url 下载文件地址 * @param string $save_path 下载文件保存目录 * @param string $fi ...

  2. php curl上传文件$_FILES为空问题

    php使用curl上传文件,代码如下: 发送的代码(完全是官方的示例) <?php /* http://localhost/upload.php:print_r($_POST);print_r( ...

  3. PHP 5.6 如何使用 CURL 上传文件

    以前我们通过 PHP 的 cURL 上传文件是,是使用“@+文件全路径”的来实现的: curl_setopt(ch, CURLOPT_POSTFIELDS, array( 'file' => ' ...

  4. PHP如何通过CURL上传文件

    PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变 ...

  5. [PHP]curl上传多文件

    码一下curl上传多文件的行 5.5之前版本的写法 $file = array( 'pic[0]'=>"@E:\\wwwroot\\10003\\temp_56.ini;type=te ...

  6. linux使用curl上传文件并且同时携带其它传递参数

    一般使用linux原生态的命令curl上传文件时命令如下 假如要上传文件是myfile.txt curl -F "file_name=@myfile.txt" -X POST &q ...

  7. curl 上传文件

    1)在 php 5.5.0 之前,如果使用 @+文件路径的文件上传文件,具体看这里:http://www.cnblogs.com/tujia/p/5938463.html 2)php 5.5.0 之后 ...

  8. PHP 5.5以上 使用 CURL 上传文件

    PHP 5.5以上 使用 CURL 上传文件的代码: curl_setopt(ch, CURLOPT_POSTFIELDS, [ 'file' => new CURLFile(realpath( ...

  9. 解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题

    解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题 官方上传命令 curl -F file=@"315.apk" -F uKey=XXX ...

随机推荐

  1. ActiveMQ消费者接收消息的过程

    [http://manzhizhen.iteye.com/blog/2094130] org.apache.activemq.ActiveMQMessageConsumer同步接收

  2. SARG

    SARG (Searchable Arguments)操作,因为它通常是指一个特定的匹配,一个值得范围内的匹配或者两个以上条件的AND连接.   中文名 SARG 全    称 Searchable ...

  3. spring:自定义限定符注解@interface, 首选bean

    spring:自定义限定符注解@interface, 首选bean 1.首选bean 在声明bean的时候,通过将其中一个可选的bean设置为首选(primary)bean能够避免自动装配时的歧义性. ...

  4. ural 1039 树dp

    http://acm.timus.ru/problem.aspx?space=1&num=1039 1039. Anniversary Party Time limit: 0.5 second ...

  5. MySQL 分区知识点(一 )

    前言: 查了下资料,关于 MySQL 分区的博文讲的详细的比较少,也不全,只好在官网去翻译英文文章看了.大体整理了一下记录起来: MySQL 分区类型: 1.RANGE 分区: // 这种类型的分区基 ...

  6. Highcharts中更新series的5种方法

    用Highcharts画图时,经常需要更新所画的图表,最常见的就是改变数据以更新图表.在Highcarts中,数据对应的参数是series.这儿就以图1的柱状图为例,列举如何更新series的5种方法 ...

  7. maven笔记(maven使用与安装,eclipse中maven的配置,maven项目的创建)

    一.初识maven 1.maven是什么? 他是一个项目管理器,配置好pom配置文件后,maven会管理项目的依赖文件等,当项目用到外部jar包时,maven帮助我们去网上下载并打包发到Tomcat中 ...

  8. C/C++ 字符串与数字相互转换

    一.利用stringstream类 1. 字符串到整数     stringstream sstr(str);     int x;     sstr >> x;(即从sstr中提取数据) ...

  9. linux中使用opdir_readdir读取目录中的信息

    #include <dirent.h>#include <stdio.h>#include <stdlib.h> int main(int argc, char * ...

  10. 我的 Linux 配置

    系统版本 Ubuntu 18.04 一名老年弱智 OI 选手的 Linux 配置 文本编辑器: Sublime Text 中文补丁,关闭自动补全,自动联想,括号匹配,字号 15 编译器: g++ (然 ...