微信公众号开发上传零时素材遇到"errcode":41005,"errmsg":"media data missing

解决办法:因为php版本的原因,上传素材一直保错。 php 的curl的curl_setopt 函数存在版本差异

php5.5已经把通过@加文件路径上传文件的方式给放入到Deprecated中了。php5.6默认是不支持这种方式了

特殊处理1:curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false);

特殊处理2:$post_data ['media']  = '@'.$file;


具体curl_post代码:

function post($url, $data)
{
    //初始化
    $ch = curl_init($url);
    //设置请求的参数
    curl_setopt ($ch, CURLOPT_SAFE_UPLOAD, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);//设置请求方式为post
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    //执行发送
    $res = curl_exec($ch);
    //返回
    return $res;
}






你可能感兴趣的:(微信公众号开发)