微信公众号上传图片的PHP7适用代码片段

通过微信公众平台API进行推送的第一步就是上传文章(图文素材),而上传图文素材的第一步就是上传预览图(thumb)。而这个预览图的上传则困扰了我一昼夜,一直回显:

也就是缺少资源文件。不过好在,问题最终顺利解决了。现将代码进行记录

开发环境:CentOS 7.4 + Apache 2.4 + PHP 7.1.13(php_mod)

cUrl上传代码如下,要注意的是,由于插件的关系,代码中的”//”实际为”h-t-t-p-s://”,请自行补全,以免功能出错:

然后是调用:

以上可以说就是一个完整的实现,运行结果如下:

具体的我也不是很懂,只知道PHP从5.5开始对curl上传做出了调整,增加了CURLFile类,并从PHP5.6开始移除了@方法。然而网上的文章都是复制粘贴,大部分是老代码,新版本的PHP根本不能用,部分适用新版本的代码又或多或少存在错误。最后终于在sf中找到了比较详细的解释,于是上传请求就得到了正常的响应。

P.S.:因为我用的是接口测试平台,所以没有群发权限,上传后只能通过预览接口推送至手机,每天100次,坑爹▄█▀█●