关于php 5.5以上 CURL上传的问题(微信"errcode":41005,"errmsg",)

微信给出的方法是@+文件的路径来赋予数组来上传php

$data = array( 
    'file' => '@/PATH/TO/FILE', 
    //....其余字段 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

问题来了,这个@只能在5.5如下的版本用,而在5.5和5.5以上的版本这个就失效了,必须用CURLFile这个类上传:数组

$data = array( 
    'file' => new CURLFile('/PATH/TO/FILE'), 
    //....其余字段 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

可是发现有少许的服务器不支持直接new CURLFile这个类,因此出现这种状况的时候咱们能够curl_file_create来建立一个CURLFile的对象(此函数是该函数的别名: CURLFile::__construct() 服务器

$data = array( 
    'file' => curl_file_create('/PATH/TO/FILE'), 
    //....其余字段 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

这样就能够了。微信

相关文章
相关标签/搜索