向微信服务器上传图文操作

思路:1、因为是对多个公众号的管理应该得到当前使用的公众号的id。

2、上传图文首先应该想到想把图片上传到微信服务器上(图片必须是永久保存的,不是临时的)。

3、判断图片能否上传成功永久图片的media_id,永久图片的media_id就是图文数组中的thumb_media_id

4、根据图文数组格式调用url 接口成功会返回数据

5、如果有media_id证明上传微信服务器成功还应该吧数据写到数据表中

代码如下:

public function news_submit(){
		$mp = getCurrentMp();//当前使用的公众号
		$url = I('post.url');//前台以post方式提交返回的数据
		$file = realpath('.' . $url);
		$title = I('post.title');
		$content = I('post.content');
		$link = I('post.link');
		include APP_PATH . 'LaneWeChat/lanewechat.php';//引用lanewechat框架的文件
		$ret = Media::material($file,'image');//上传永久图片的静态方法
		// print_r($ret);
		// exit;
		if(isset($ret['media_id'])){//判断是否有media_id有证明图片上传成功
			//$data图文数据json格式
			$arr = array(
				'title' => $title,
				'thumb_media_id' => $ret['media_id'],
				'author'=>'zxl',
				'digest' =>'aaa',
				'show_cover_pic'=>1,
				'content'=>$content,
				'content_source_url'=>$link
				);
			$data['articles'][] = $arr;
			$data = json_encode($data,JSON_UNESCAPED_UNICODE);
			// print_r($data);
			// exit;
			//图文访问的url
			$data = Media::add_news($data);
			if(isset($data['media_id'])){
				//上传成功就吧数据写到数据表中
				$arr['url'] = $ret['url'];
				$arr['media_id'] = $data['media_id'];
				$arr['title'] = $title;
				$arr['description'] = $content;
				$arr['type'] = 'news';
				$arr['mp_id'] = $mp['id'];
				$arr['create_time'] = time();
				$arr['path'] = $link;
				$ret = M('material')->add($arr);
				// print_r($ret);
				// exit;
				if($ret){
					$this->ajaxReturn(array('error'=>1,'msg'=>'添加成功'));
				}else{
					$this->ajaxReturn(array('error'=>0,'msg'=>'添加失败'));
				}

			}
		}

	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值