通过uc_client接口方式,更新discuz会员头像
来源:互联网 发布:全景漫游制作软件 编辑:程序博客网 时间:2024/05/22 15:10
背景:
由于对论坛UCenter做了会员同步,为了保持会员头像同步,在主站里调用头像的地方,改为论坛图像的引用方式,PC端可以使用剥离论坛flash上传的模式进行上传,但是APP却没有更新头像的功能,查看了下uc_client包里,上传头像onuploadavatar函数并没有写。
将主要代码记录如下:
上传后的头像位于/bbs/uc_server/data/avatar/000/00/00/目录下,如果你操作后没有效果,可能是因为discuz对图片尺寸进行检查后被删除,可以注释 /bbs/uc_server/control/user.php中385 -387行代码后再操作看效果
若返回
按以上方式整合入项目运行即可。
由于对论坛UCenter做了会员同步,为了保持会员头像同步,在主站里调用头像的地方,改为论坛图像的引用方式,PC端可以使用剥离论坛flash上传的模式进行上传,但是APP却没有更新头像的功能,查看了下uc_client包里,上传头像onuploadavatar函数并没有写。
将主要代码记录如下:
//记得 require_once("uc_client/client.php");主要逻辑处理函数:
$data['user_id'] = $_POST['user_id'];//需要修改头像的用户ID
$data['avatar1'] = $_POST['avatar1'];//图片内容字符串,图片宽、高小于200px
$data['avatar2'] = $_POST['avatar2'];//图片内容字符串,图片宽、高小于120px
$data['avatar3'] = $_POST['avatar3'];//图片内容字符串,图片宽、高小于48px
$_result = UpAvatar($data);
/*
** 将需要上传的头像图片内容进行转码
*/
static public function replace_img_str($img){
if(!$img){
return '';
}
return strtoupper(bin2hex($img));
}
/*
* Author: 2016-5-30
* Descript:获取Ucenter头像上传地址
* Param:
* Return:array
*/
public function GetUcAvatarUpUrl($data){
$user_id = $data['user_id'];
//将本站user_id转为UCenter中对应的user_id
$resultuid = self::GetUserIdOne($user_id);
$uid = $resultuid['uc_user_id'];
//生成签名信息
$uc_input = uc_api_input("uid=$uid");
$agent=md5($_SERVER['HTTP_USER_AGENT']);
$url = UC_API.'/index.php?m=user&inajax=1&a=rectavatar&appid=2&input='.$uc_input.'&agent='.$agent.'&avatartype=virtual';
return $url;
}
/*
** 接口更新用户头像
*/
public function UpAvatar($data){
if($data['user_id']=='' || $data['avatar1']==''){
return '参数错误';
}
//用户上传头像提交地址
$_result['url'] = GetUcAvatarUpUrl($data);
$parameter = array();
$parameter['avatar1'] = replace_img_str($data['avatar1']);
$parameter['avatar2'] = replace_img_str($data['avatar2']);
$parameter['avatar3'] = replace_img_str($data['avatar3']);
//通过CURL方式POST操作
postCurlRequest($_result['url'], $parameter);
return $_result;
}
上传后的头像位于/bbs/uc_server/data/avatar/000/00/00/目录下,如果你操作后没有效果,可能是因为discuz对图片尺寸进行检查后被删除,可以注释 /bbs/uc_server/control/user.php中385 -387行代码后再操作看效果
如果成功,则返回file_exists($bigavatarfile) && unlink($bigavatarfile);
file_exists($middleavatarfile) && unlink($middleavatarfile);
file_exists($smallavatarfile) && unlink($smallavatarfile);
如果失败,则返回<?xml version="1.0" ?><root><face success="1"/></root>
<?xml version="1.0" ?><root><face success="0"/></root>
若返回
代码uid参数没传<root><message type="error" value="-1" /></root>
3个头像参数有缺失<root><message type="error" value="-2" /></root>
按以上方式整合入项目运行即可。
0 0
- 通过uc_client接口方式,更新discuz会员头像
- discuz 获取会员头像
- 【discuz x3】uc_client/client.php接口文件分析
- Discuz 会员头像调用方法之discuz_uc_avatar函数
- Discuz 会员头像调用方法之di…
- discuz X2 中DIY无头像会员不调用默认的头像的解决方法
- Discuz活跃会员头像调用链接到UCHOME页面的代码
- discuz 实现会员头像下方的加好友发消息串个门等功能
- uc_client/client.php接口文件分析
- ecshop设置会员头像
- hdwiki/destoon/discuz通过UC整合后会员注册提交后没有跳转解决方法
- 免费使用QQ会员头像
- ecshop 添加会员头像功能
- ecshop 添加会员头像功能
- 更新头像
- 【ECSHOP插件】ECSHOP会员头像,上传头像评论显示头像
- 通过接口方式开发WebService
- Discuz修改默认用户头像
- 交叉编译tslib1.4过程详述,配合QT4.5.3成功在Mini2440运行成功
- ECSHOP 后台商家设置增加设置选项
- php header 无法跳转的问题
- ext3文件系统恢复被删文件
- CodeIgniter-3.0.0 Unable to locate the specified class: Session.php
- 通过uc_client接口方式,更新discuz会员头像
- shell脚本学习笔记 (文本处理器AWK)
- Html编码和Uri编码
- Linux安装MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar
- 多路径管理与UDEV服务解决方法(供参考)
- 给DotSpatial添加比例尺
- 【leetcode】25. Reverse Nodes in k-Group
- Android之生成桌面快捷方式
- 面试中常见链表问题9:对单链表进行插入排序