【原因】:由于不同php版本导致curl方法用法有所改变导致的
【解决方案】:将自己即将要进行微信请求的数据适当处理一下,如下:
例如未处理的数据如下
$data=array(
'media'=>'@'.'自己的文件路径'
);
上面的格式微信官方文档也是这样的写的,但是如果你php版本>=5.6后,这种写法就会导致文件无法进行上传到微信服务器最保险的做法如下(兼容所有php版本),将上面的数组作如下处理
if (class_exists('\CURLFile')) {
$data[$k] = new \CURLFile(realpath($this->getImage($v, $file_name)));
} else {
$data[$k] = '@'.realpath($this->getImage($v, $file_name));
}
【为什么要这么做?】: