关于视频直播系统开发中头像昵称修改方式的解决方案
在php视频直播系统开发中,时常用到极光推送、极光IM来负责消息功能的实现,但是正常更新用户信息等功能,只会更新数据库信息,并不会同步更新到极光服务器,那么接下来我们就说一下如何更新极光用户头像及昵称。
一、 视频直播系统开发中头像昵称修改的准备步骤
1、上传的图片格式:png、jpg或jpeg
2、将要更新的图片上传保存在项目所在的服务器的指定目录下
3、引用极光sdk等相关信息,将存在已知目录的图片上传到极光,更新用户头像
二、 视频直播系统开发中头像昵称修改的操作如下
(一) 确保上传的图片格式需要满足极光头像的要求,具体查找极光图片格式,此处使用的格式为png,jpg或jpeg。
(二)将文件保存在项目所在的服务器,代码如下:
1、
$image =$_FILES['file'];
2、//设置上传路径,我把它放在了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并上传图片到极光服务器,更新头像、昵称
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('修改失败'); }
三、 总结
以上就是《关于视频直播系统开发中头像昵称修改方式的解决方案》代码中配置信息等可变数据值可根据项目需要调整,至此更新极光用户的头像及昵称功能完成。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com