编程语言
首页 > 编程语言> > 轻松实现PHP直播平台源码中,头像昵称的修改

轻松实现PHP直播平台源码中,头像昵称的修改

作者:互联网

在php直播平台源码开发中,时常会用到极光推送和极光IM,用以实现消息推送功能和实时通讯功能,如果需要更新用户信息等功能,很多朋友会发现,怎么更新只会更新数据库信息,并不会同步更新到极光服务器?
那么接下来我们就说一下。如果PHP直播平台源码中接入了极光SDK,如何更新极光用户头像及昵称。

基本步骤如下:
1、上传的图片格式:png,jpg或jpeg
2、将要更新的图片上传保存在项目所在的服务器的指定目录下
3、引用极光sdk等相关信息,将存在已知目录的图片上传到极光,更新用户头像

一、首先:确保上传的图片格式需要满足极光头像的要求,具体查找极光图片格式,此处使用的格式为png,jpg或jpeg。
二、第二步:将文件保存在项目所在的服务器,代码如下:

1、$image =$_FILES['file'];
2、//设置上传路径,我把它放在了PHP直播平台源码中,upload下的jmessage目录下(需要在linux中给interview设置文件夹权限)
if($image['name']!=''){
$type = strrchr($image['name'], "."); 
$path = "./public/jmessage/" . $image['name'];  
//判断上传的文件是否为图片格式
		if (strtolower($type) == '.png' || strtolower($type) == '.jpg' || strtolower($type) == '.jpeg') 			{ 				
//将图片文件移到该目录下
move_uploaded_file($image['tmp_name'], $path); 
		 }else{
			$this->error('请上传后缀为png,jpg或jpeg的图片');
		 }
	 }

三、第三步:获取极光配置信息,这里我们是存到统一的配置信息表中

$configpri=getConfigPri();
			$app_key = $configpri['jpush_key'];  //极光key
			$master_secret = $configpri['jpush_secret'];  //极光secret

四、验证引用极光sdk并上传图片到极光服务器,更新头像、昵称,PHP直播平台源码设置如下

if($app_key && $master_secret){
			Vendor("JMessage.autoload");
			$jm = new\JMessage\JMessage($app_key, $master_secret);
			$user = new \JMessage\IM\User($jm);					
			$username = $id; //极光用户名
			if($image['name']!=''){
				$rescource = new \JMessage\IM\Resource($jm);
//把图片上传到极光
				$response = $rescource->upload('image', $path); 
//更改极光平台用户的名称头像
				$respon=$user->update($username,['nickname'=> 										“你想要更新的昵称”,'avatar'=>$response['body']['media_id']]);   
						unlink($path);  //删除本地图片
					}else{
//更改极光平台用户的名称
						$respon=$user->update($username,['nickname'=>										“你想要更新的昵称”]);  
					}
//查询用户信息,可打印此信息查看是否更新成功
					$userinfo = $user->show($username);
				}
                $this->success('修改成功');
			 }else{
                $this->error('修改失败');
			 }

注:以上代码中配置信息等可变数据值可根据项目需要调整

至此更新极光用户的头像及昵称功能完成。
以上就是本文《轻松实现PHP直播平台源码中,头像昵称的修改》的全部内容。
声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

标签:极光,image,昵称,更新,头像,源码,PHP
来源: https://blog.51cto.com/yunbaokj/2853601