使用curl 提交表单(多维数组+文件)数据到服务器的有关问题
Jun 13, 2016 am 11:40 AM
使用curl 提交表单(多维数组+文件)数据到服务器的问题
我在本地搭了一个测试服务器,Apache+PHP,想使用curl自动提交表单数据到远程服务器。
远程服务器表单有两项数据需要提交:
1、input file: 要求传图片
2、checkbox: 会有多个按钮被选中
问题:
运行时下面程序时checkbox数组会被转成字符串,程序报错如下:
Array to string conversion
主要代码如下:
$post_url = "http://domain.com/post.php";<br /> $post_data = array(<br /> 'color' => array('red', 'green', 'blue'),<br /> 'img' => "@d:\image.jpg"<br /> );<br /><br /> $ch = curl_init();<br /> curl_setopt($ch, CURLOPT_URL, $post_url);<br /> curl_setopt($ch, CURLOPT_POST, true); <br /> curl_setopt($ch, CURLOPT_POSTFIELDS, ($post_data));<br /> if (false === curl_exec($ch)) {<br /> echo "Curl_error: " . curl_error($ch);<br /> }<br /> 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"],<br /> "mode" => $_POST["mode"],<br /> "product[name]" => $_POST["product"], <br /> "product[cost]" => $_POST["product"]["cost"], <br /> "product[thumbnail]" => "@{$_FILES["thumbnail"]["tmp_name"]}");
即可解决,可是我的情况是索引数组,模仿他的样子写了之后仍然无效。
请教各位朋友是否知道如何解决?

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solution: Your organization requires you to change your PIN

How to adjust window border settings on Windows 11: Change color and size

How to change title bar color on Windows 11?

OOBELANGUAGE Error Problems in Windows 11/10 Repair

How to enable or disable taskbar thumbnail previews on Windows 11

10 Ways to Adjust Brightness on Windows 11

How to realize the mutual conversion between CURL and python requests in python
