PHPweixin微信开发(设置微信自动回复并添加到关联数据库)

这篇文章主要为大家详细介绍了PHP微信开发之简单实现文本,图片以及图文自动回复的相关资料。

首先,先去微信公众平台注册一个账号,注册好之后,登录进去。可以看到左侧的“开发者中心”,开启开发者中心前好像还要你完善一些资料,按照步骤完善即可。进入开发者中心之后,先去编辑修改配置,修改配置的时候,注意:URL是你自己的域名下的PHP脚本。Token是上述脚本里的定义的一个常量,比如你的PHP脚本里定义了: define("TOKEN", "weixin");  那么,在填写Token时,你就填weixinEncodingAESKey是消息加密用。你可以自己写一个43为的数字和字母的组合,也可以选择“随机生成”,一般选择随机生成即可。填好之后,保存(如果保存时,提示Token验证失败,那么请确认token一致并多点几次保存试试)。 保存好之后,点击修改配置旁的:“开启”。然后,就可以编辑你的PHP脚本了。(如果你没有自己的域名,可以去阿里云官网买一个,并最好完成实名认证)。

我使用了Think PHP框架layui前端框架和Lanwechat(PHP微信开发框架)。

首先新建文件夹为控制器Autoreply.class.php,。

控制器添加文本回复参考代码如下:(新建添加页面addreplytext.html。)
//添加自动回复文本
	public function addreplytext(){
		if(IS_GET){
			$this->display();
		}
		$mp=getCurrentMp();
		$content=I('post.');
		$model=M('mp_reply_text');
		
		if($model->create()){
			$result=$model->add($content);
			// $this->success('添加成功');
			// exit;
			$user=M('mp_rule');
			$replyid=$result;
			$keyword=I('post.');
			$keyword['mp_id']=$mp['id'];
			$keyword['reply_id']=$result;
			$keyword['type']='text';
			if($user->create()){
				$result1=$user->add($keyword);
                 if($result1){
                 	$this->success('添加成功');
                 }else{
                 	$this->error('添加失败');
                 }
			}else{
				$this->error($user->getError());
			}

		}
	}

页面样式如下:
PHPweixin微信开发(设置微信自动回复并添加到关联数据库)_第1张图片

控制器添加回复图片参考代码如下:(新建添加页面addreplyimage.html。)

//文件上传
	public function upload(){
		$upload=new \Think\Upload();//实例化上传类
		$upload->maxSize=3145728;
		$upload->exts=array('jpg','gif','png','jpeg');
		$upload->rootPath='./Uploads/';
		$upload->savePath='';
		//上传文件
		$info=$upload->uploadOne($_FILES['file']);
		if(!$info){
			// $this->error($upload->getError());
			$this->ajaxReturn(array('code'=>1,'msg'=>$upload->getError()));
		}else{
			// $this->success('长传成功!');
			$file='/Uploads/'.$info['savepath'].$info['savename'];
			$this->ajaxReturn(array('code'=>0,'msg'=>'上传成功','url'=>$file));
		}
	}
//添加自动回复图片
	public function addreplyimage(){

		if(IS_GET){
			$this->display();
			exit;
		}
		$keyword=I('post.keyword');
		$media_id=I('post.media_id');
		$url=I('post.url');
		if(empty($keyword)|| empty($url)){
			$this->ajaxReturn(array('status'=>0,'msg'=>'必须输入关键字和选择图片'));
			exit;
		}

		//选择本地图片,需上传到公众平台
		if(empty($media_id)){
			$accessToken=getAccess_token();
			include APP_PATH . 'LaneWeChat/lanewechat.php';

			//上传永久图片
			$api="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$accessToken&type=image";

			$file=realpath('.'.$url);
			$data['media']=Curl::addFile($file);
			$ret=Curl::callWebServer($api,$data,'post',1,0);
            // $this->ajaxReturn($ret);
            // exit;
			//上传成功
			if(isset($ret['media_id'])){
				$media_id=$ret['media_id'];
				$url=$ret['url'];
			}else{
				$ret['fail']='本地图片上传公众平台失败';
				$this->ajaxReturn(array('status'=>1,'msg'=>$ret));
				exit;
			}
		}

		$data['media_id']=$media_id;
		$data['url']=$url;
		$reply_id=M('mp_reply_image')->add($data);
		$mp=getCurrentMp();
		$mp=$this->mp;
		$arr['mp_id']=$mp['id'];
		$arr['type']='image';
		$arr['keyword']=$keyword;
		$arr['reply_id']=$reply_id;
		$ret=M('mp_rule')->add($arr);
		if($ret){
			$this->ajaxReturn(array('status'=>1,'msg'=>'添加成功'));
		}else{
			$this->ajaxReturn(array('status'=>1,'msg'=>'添加失败'));
		}
	}

控制器添加回复图文参考代码如下:(新建添加页面addreplynews.html。)

//回复图文
	public function addreplynews(){
		if(IS_GET){
			$this->display();
			exit;
		}
		$keyword=I('post.keyword');
		$title=I('post.title');
		$media_id=I('post.media_id');
		$content=I('post.content');
		$picurl=I('post.content_source_url');
		$url=I('post.url');
		if(empty($keyword)|| empty($url)){
			$this->ajaxReturn(array('status'=>0,'msg'=>'必须输入关键字和选择图片'));
			exit;
		}

		//选择本地图片,需上传到公众平台
		if(empty($media_id)){
			$accessToken=getAccess_token();
			include APP_PATH . 'LaneWeChat/lanewechat.php';

			//上传永久图片
			$api="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$accessToken&type=image";

			$file=realpath('.'.$url);
			$data['media']=Curl::addFile($file);
			$ret=Curl::callWebServer($api,$data,'post',1,0);
            // $this->ajaxReturn($ret);
            // exit;
			//上传成功
			if(isset($ret['media_id'])){
				$media_id=$ret['media_id'];
				$url=$ret['url'];
			}else{
				$ret['fail']='本地图片上传公众平台失败';
				$this->ajaxReturn(array('status'=>1,'msg'=>$ret));
				exit;
			}
		}

		$data['media_id']=$media_id;
		$data['title']=$title;
		$data['picurl']=$url;
		$data['description']=$content;
		$data['url']=$picurl;
		$reply_id=M('mp_reply_news')->add($data);
		$mp=getCurrentMp();
		$mp=$this->mp;
		$arr['mp_id']=$mp['id'];
		$arr['type']='news';
		$arr['keyword']=$keyword;
		$arr['reply_id']=$reply_id;
		$ret=M('mp_rule')->add($arr);
		if($ret){
			$this->ajaxReturn(array('status'=>1,'msg'=>'添加成功'));
		}else{
			$this->ajaxReturn(array('status'=>1,'msg'=>'添加失败'));
		}

	}

图文页面如下:
PHPweixin微信开发(设置微信自动回复并添加到关联数据库)_第2张图片
图文页面参考代码如下:

返回
以上就是本文的全部内容,希望对大家的学习有所帮助,感谢您的浏览。

你可能感兴趣的:(PHPweixin微信开发(设置微信自动回复并添加到关联数据库))