在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直播平臺源碼中,頭像暱稱的修改》的全部內容。
聲明:以上內容爲作者本人原創,未經作者本人同意,禁止轉載,否則將追究相關法律責任