要实现公众号发图功能,可以使用微信公众平台提供的接口。以下是一个基本的PHP代码示例:

  1. 获取上传图片的临时素材media_id
<?php
// 上传图片文件
$file_path = '/path/to/image.jpg'; // 图片文件路径
$url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=image';
$file_data = array('media' => '@' . $file_path);
$result = post($url, $file_data);

// 解析结果,获取media_id
$result_obj = json_decode($result);
if(isset($result_obj->media_id)){
    $media_id = $result_obj->media_id;
    // 根据需要保存media_id至数据库或session中
}else{
    // 上传图片失败,处理错误
}
?>
  1. 发送图文消息,包含上传的图片
<?php
// 发送图文消息(包含上传的图片)
$article = array(
    'title' => '标题',
    'thumb_media_id' => $media_id, // 上传图片的media_id
    'author' => '作者',
    'digest' => '摘要',
    'show_cover_pic' => 1, // 是否显示封面图
    'content' => '内容',
    'content_source_url' => '原文链接'
);
$data = array(
    'touser' => 'OPENID', // 接收消息的用户的openid
    'msgtype' => 'news',
    'news' => array(
        'articles' => array($article)
    )
);
$url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN';
$result = post($url, json_encode($data, JSON_UNESCAPED_UNICODE));

// 解析结果,处理错误
$result_obj = json_decode($result);
if($result_obj->errcode == 0){
    // 发送成功
}else{
    // 发送失败,处理错误
}
?>

其中,post()函数是一个封装了cURL库的POST请求方法,可以使用以下代码实现:

function post($url, $post_data){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
php写公众号发图功能

原文地址: http://www.cveoy.top/t/topic/LF1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录