新增要群发的图文
//新增群发图文 public function addnews(){ if(IS_GET){ $this->display(); }else{ $mp = $this->mp; $mp_id = $mp['id']; $data = I('post.data'); foreach ($data as $key => &$v) { $v['mp_id'] = $mp['id']; $v['create_time'] = time(); if ($key==0) { $news_id = M('media_news')->add($v); } $v['news_id'] = $news_id; M('media_news_list')->add($v); } $this->ajaxReturn(array('error'=>0,'msg'=>'添加成功!')); } }
上传图文素材
第一步:获取media_news表中的news_id 第二步:根据获取到的media_news表中的news_id查找media_news_list中的与之相等的news_id 第三步:找到此news_id中thumb_media_id为空的,在调用上传永久的图文接口,将封面图的路径改为绝对路径,得到media_id并存入数据库
//上传图文素材 public function uploadMediaNews($news_id){ $where['news_id']=$news_id; $data=M('media_news_list')->field('id,thumb_media_id,cover')->where("news_id=$news_id")->select(); foreach ($data as $key => $value) { if(empty($value['thumb_media_id'])){ $ret=$this->uploadImg($value['cover']); if(is_array($ret)){ M('media_news_list')->where("id={$value['id']}")->setField('thumb_media_id',$ret['media_id']); }else{ echo $ret; exit; } } } $data=M('media_news_list')->field('thumb_media_id,author,title,content_source_url,content,digest,show_cover_pic')->where($where)->order('id')->select(); // dump($data); // exit; include APP_PATH . 'LaneWeChat/lanewechat.php'; $ret=\LaneWeChat\Core\AdvancedBroadcast::uploadNews($data); // $ret=$this->uploadNews($value['cover']); if(isset($ret['media_id'])){ $arr['media_id']=$ret['media_id']; $arr['status_type']=1; M('media_news')->where($where)->save($arr); echo "上传成功!"; }else{ echo "上传失败!".json_encode($ret); } }
得到上传图片
//上传图片 private function uploadImg($url){ $accessToken=getAccess_token(); include APP_PATH . 'LaneWeChat/lanewechat.php'; //上传永久图片api $api="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$accessToken&type=image"; $file=realpath('.'.$url); $data['media']='@' . $file; $ret=Curl::callWebServer($api,$data,'post',true,false); //上传成功 if (isset($ret['media_id'])) { return array('media_id'=>$ret['media_id']); } else { return '本地图片上传失败'.json_encode($ret); } }