使用curl 提交表单(多维数组+文件)数据到服务器的问题

我在本地搭了一个测试服务器,Apache+PHP,想使用curl自动提交表单数据到远程服务器。

远程服务器表单有两项数据需要提交:

1、input file: 要求传图片

2、checkbox: 会有多个按钮被选中

问题:

运行时下面程序时checkbox数组会被转成字符串,程序报错如下:

Array to string conversion

主要代码如下:

$post_url = "http://domain.com/post.php";

$post_data = array(

'color' => array('red', 'green', 'blue'),

'img' => "@d:\image.jpg"

);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $post_url);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, ($post_data));

if (false === curl_exec($ch)) {

echo "Curl_error: " . curl_error($ch);

}

curl_close($ch);

尝试过:

1、如果用http_build_query处理$post_data,那么color数组就可以正确的传到服务器,但是文件也会被当成一般query参数,从而上传失败。

2、如果不使用http_build_query,文件可以正确上传,但是在服务器抓到color数组的值就是"Array",并提示"Array to string conversion"错误。

3、我在php.net上看curl手册,发现有个家伙跟我的情况有点类似,但是他使用的是关联数组,所以可以绕弯,类似

$post_data = array("method" => $_POST["method"],

"mode" => $_POST["mode"],

"product[name]" => $_POST["product"],

"product[cost]" => $_POST["product"]["cost"],

"product[thumbnail]" => "@{$_FILES["thumbnail"]["tmp_name"]}");

即可解决,可是我的情况是索引数组,模仿他的样子写了之后仍然无效。

请教各位朋友是否知道如何解决?

php curl 发送checkbox,使用curl 提交表单(多维数组+文件)数据到服务器的有关问题...相关推荐

  1. ajax提交表单序列化(serialize())数据

    知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2-). 以下用一个例子来演 ...

  2. php 利用fsockopen GET/POST 提交表单及上传文件

    1.GET get.php [php] view plaincopy <?php $host = 'demo.fdipzone.com'; $port = 80; $errno = ''; $e ...

  3. JavaScript fetch 方式提交表单请求

    最近在研究如何使用 fetch 方法发送表单请求,因为我们一般使用的时候fetch一般会将发送的数据处理成 JSON 字符串的格式进行发送,但是如果提交表单的话由于表单格式需要特殊处理,因为无法直接使 ...

  4. tp5 ajax 路由,tp5中ajax方式提交表单

    用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. ajax批删 姓名 年龄 地址 添加 $("#sub").click(function(){ var name = $(& ...

  5. PHP结合HTML5使用FormData对象提交表单及上传图片

    FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台.在使用Ajax提交时,使用FormData对象可以减少拼接queryString的 ...

  6. JQuery - 提交表单

    [JavaScript] JQuery异步提交表单与文件上传 Jquery.form.js是一个可以异步提交表单及上传文件的插件. 文档地址:http://jquery.malsup.com/form ...

  7. php form 上传_php+html5使用FormData对象提交表单及上传图片的方法

    本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法.分享给大家供大家参考.具体分析如下: FormData 对象,可以把form中所有表单元素的name与value组成一 ...

  8. php发布文章时 未定义索引,关于php:提交表单时未定义索引错误

    本问题已经有最佳答案,请猛点这里访问. 我正在忙于学习PHP,并且一直在按照教程创建一个基本站点,您可以在该站点中注册并拥有用户帐户/更改密码/更新信息等. 我正在为您更改密码(此视频中,我的时间大约 ...

  9. php curlopen,php自动提交表单的方法(基于fsockopen与curl)

    搜索热词 本文实例讲述了PHP基于fsockopen与curl实现自动提交表单的方法.分享给大家供大家参考,具体如下: PHP自动提交表单 1. fsockopen方法: PHP;"> ...

最新文章

  1. ggplot2笔记8:主题设置、存储导出
  2. [译] 写给前端开发者的 GraphQL 指南
  3. mysql-8.0.17解压版安装步骤及MySQL服务无法启动问题的解决办法
  4. 这头像是代表入职送理发福利吗?
  5. node.js java web_Node.js 做 Web 后端优势为什么这么大?
  6. Python学习系列(一)(基础入门)
  7. 计算机视觉与深度学习 | OpenCV3.0.0及高版本安装文件(build/sources)及视频教程
  8. 基于 Kafka 技术栈构建和部署实时搜索引擎的实践
  9. 推荐七款精挑细选的电脑软件,欢迎收藏!
  10. 如何在三个月内获得三年的工作经验
  11. AngularJs学习笔记--Modules
  12. 狂神css3笔记,【CSS】CSS3学习笔记(一)——选择器
  13. 工具使用-----Jmeter教程 简单的压力测试
  14. Redis集群安装及配置步骤
  15. 计算机怎么把硬盘分成几个,怎么把硬盘分成整数分区_硬盘分区整数对照表
  16. VMware Workstation 10.0.7 安装
  17. 单词自动换行 css,CSS让英文单词的自动换行的方法介绍
  18. excel合并两列内容_办公教程:Excel如何快速将两列内容合并成一列
  19. 计算机电脑上可以做作业吗,一起作业电脑版
  20. 【winui3】轻量笔记本应用

热门文章

  1. Runtime 在IOS中的详细使用
  2. 我自己比较习惯的Watir自动化测试代码管理方式
  3. Div+CSS教程----DivCSS布局绝对定位和浮动
  4. ServletContext读取属性文件
  5. mysql操作json优点和缺点_详解Mysql中的JSON系列操作函数
  6. mysql语言中修改表结构的命令_在T-SQL语言中,修改表结构时,应使用的命令是( )...
  7. java null指针_注意:java 这些地方经常发生 NullPointerException(空指针)异常
  8. excel 粘贴到web_使用EXCEL导入参考历年高考大数据,为2019年高考志愿填报做参考...
  9. UI设计灵感|注册登录页面怎样设计才更合理?
  10. 手机展示海报PSD模板、适用众多设计!