[PHP]curl上传多文件

码一下curl上传多文件的行

5.5之前版本的写法

$file = array(
            ‘pic[0]‘=>"@E:\\wwwroot\\10003\\temp_56.ini;type=text/html;filename=temp_56.ini",
            ‘pic[1]‘=>"@E:\\wwwroot\\10003\\temp_29.html;type=text/html;filename=temp_29.html"
        );

5.5以上版本的写法

php 5.5 version or above
        $file = array(
            ‘pic[0]‘=>new CURLFile(‘E:\\wwwroot\\10003\\temp_56.ini‘, ‘text/html‘, ‘temp_56.ini‘),
            ‘pic[1]‘=>new CURLFile(‘E:\\wwwroot\\10003\\temp_29.html‘, ‘text/html‘, ‘temp_29.html‘)
        );

合并其他的POST参数,POST出去

$data = array_merge($file, $data);
$ch   = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_getinfo($ch);
$return_data = curl_exec($ch);
curl_close($ch);
echo $return_data;
时间: 2024-10-07 00:35:48

[PHP]curl上传多文件的相关文章

压缩成zip文件并通过curl上传

class test{ //curl上传 function testPost(){ $url = "http://liling.gov.gsp365.cn/Api/Upload/postFile"; $file = 'D:\phpStudy\WWW\testcurl\json.zip'; $data = array( 'username' => 'test', 'pwd' => '123456', 'uploadFile' => new CurlFile($file)

PHP如何通过CURL上传文件

PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变量$_FILES中取到相应的上传文件信息. 下面我们以一个例子来展示这个过程. 假设本地有一个文本文件log.txt,其路径为“/www/test/log.txt”,内容如下: this is a file for testhello PythonTab!为了把这个文件上传给服务端的脚本http:/

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

php使用curl上传文件,代码如下: 发送的代码(完全是官方的示例) <?php /* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/ $ch = curl_init(); $data = array('name' => 'Foo', 'file' => '@/home/vagrant/test.png'); curl_setopt($ch, CURLOPT_URL, 'http://localhost/t

PHP 5.6 如何使用 CURL 上传文件

以前我们通过 PHP 的 cURL 上传文件是,是使用“@+文件全路径”的来实现的: curl_setopt(ch, CURLOPT_POSTFIELDS, array( 'file' => '@'.realpath('image.png'), )); PHP 从 5.5 开始引入了新的 CURLFile 类用来指向文件,CURLFile 类也可以详细定义 MIME 类型.文件名等可能出现在multipart/form-data 数据中的附加信息,PHP 推荐使用 CURLFile 替代旧的@语

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

一般使用linux原生态的命令curl上传文件时命令如下 假如要上传文件是myfile.txt curl -F "file_name[email protected]" -X POST "http://192.168.1.111/server" 其中file_name是接收的key 后面的myfile.txt是要上传的文件,在=后面加上@符号表示要上传的是文件 如果要单独上传参数则是 curl -d "usernaem=u1&age=13"

win中使用curl上传文件报错

今天复现“WordPress插件Easy WP SMTP反序列化漏洞”时,需要使用curl上传文件,我又用的windows环境,一直出错 curl: (26) couldn't open file "D:/PyCharm/pocsuite3/pocsuite3/help/wordpress_unserialize.txt'" 最开始以为是权限问题 结果并不是 搞了很久 最后解决方案如下图 文件使用“”包含并用\转义 url http://xxx.ceye.io/ -F 'action=

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

解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题 官方上传命令 curl -F [email protected]"315.apk" -F uKey=XXX -F _api_key=OOO -F updateDescription=中文 http://www.pgyer.com/piv1/app/upload 问题描述 同样的命令: 在Mac平台上传IPA文件时,能够正常显示中文更新描述 但是在Windows平台上传APK文件时,“更新提示

WebUploader插件上传大文件单文件和多文件JAVA版使用总结

一.使用webuploader插件的原因说明 被现在做的项目坑了. 先说一下我的项目架构Spring+struts2+mybatis+mysql 然后呢.之前说好的按照2G上传就可以了,于是乎,用了ajaxFileUpload插件,因为之前用图片上传也是用这个,所以上传附件的时候就直接拿来用了 各种码代码,测试也测过了,2G文件上传没问题,坑来了,项目上线后,客户又要求上传4G文件,甚至还有20G以上的..纳尼,你不早说哦... 在IE11下用ajaxFileUpload.js插件上传超过4G的

eclipse中导入jdk源码、SpringMVC注解@RequestParam、SpringMVC文件上传源码解析、ajax上传excel文件

eclipse中导入jdk源码:http://blog.csdn.net/evolly/article/details/18403321, http://www.codingwhy.com/view/799.html. ------------------------------- SpringMVC注解@RequestParam:http://825635381.iteye.com/blog/2196911. --------------------------- SpringMVC文件上传源