通过uc_client接口方式,更新discuz会员头像
由于对论坛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>
若返回
<root><message type="error" value="-1" /></root>
代码uid参数没传
<root><message type="error" value="-2" /></root>
3个头像参数有缺失
按以上方式整合入项目运行即可。
通过uc_client接口方式,更新discuz会员头像相关推荐
- Discuz 会员头像调用方法之discuz_uc_avatar函数
现在Discuz越来越走向开放化,只要会网站技术都可以对DZ的程序进行修改,还可以开发插件和模板等.UCenter用户中心是很重要的,它是很多应用的中心.其中会员头像就是通过UC调用的.大家可以发现头 ...
- discuz!X2头像无法显示解决方法
discuz x2刚刚发布,很多站长就迫不及待地将自己的论坛升级. 可是安装完discuz X2之后,就马上发现论坛会的头像都不见了,取而代之的是一个小红叉.会员也没有办法设置自己的头像. 各位站长们 ...
- Java22-day13【Lambda表达式(标准格式、练习、注意事项)、接口组成更新(默认-静态-私有方法)、方法引用(构造器)】
视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...
- 【JavaSE】Lambda表达式、接口组成更新、方法引用
文章目录 1. Lambda表达式 1.1 Lambda表达式初体验 1.2 Lambda表达式的基本格式 1.3 Lambda表达式练习 1.4 Lambda表达式的省略规则 1.5 Lambda表 ...
- 5.22 综合案例2.0-4G远程遥控车DEMO(2.2版本接口有更新)
综合案例2.0-4G远程遥控车DEMO 简介 准备 硬件连接图 代码流程 1.物联网平台开发 2.设备端开发 调试 3.物联网应用开发 3.1新建'普通项目' 3.2关联产品和设备 3.3新建'移动应 ...
- java接口方式调用海康大华摄像机预览。
客户有海康和大华的监控设备,没有买各类安防平台,国标方式需要预留给其他需要接入的系统,得兼容高版本chrome,询问了大华的客服人员,最后选择了该方案进行解决,记录下曲折的过程.延迟大约10秒的样子, ...
- JavaSE学习18(接口组成更新,方法引用)
接口组成更新 1.1 接口组成更新概述 接口的组成常量: public static final 可省略抽象方法: public abstract 可省略 java8之后 加入了默认方法:静态方法: ...
- 十三、Java高级特性 Lambda表达式 | 接口组成更新 | 方法引用 | 函数式接口
文章目录 十三.Java高级特性 1.Lambda表达式 1.1体验Lambda表达式[理解] 1.2Lambda表达式的标准格式[理解] 1.3Lambda表达式练习1[应用] 1.4Lambda表 ...
- 5.25 综合案例2.0-居家隔离监控系统(2.2版本接口有更新)
综合案例2.0-居家隔离监控系统 简介 AJ-SR04M- T-X超声波测距模块 准备 硬件连接图 代码流程 功能实现 1.物联网平台开发 2.设备端开发 3.调试 4.创建钉钉机器人 5.IoT S ...
- Java学习记录五(多线程、网络编程、Lambda表达式和接口组成更新)
Java学习记录五(多线程.网络编程.Lambda表达式和接口组成更新) Java 25.多线程 25.1实现多线程 25.1.1进程 25.1.2线程 25.1.3多线程的实现 25.1.4设置和获 ...
最新文章
- OpenCV+python:霍夫变换与直线检测
- Educational Codeforces Round 12 A. Buses Between Cities 水题
- matlab画图函数plot
- 94年出生,她们如今都是985高校博士生导师!
- c语言inline不起作用,C语言inline内联函数学习小结
- 【图像处理】二维付立叶变换和滤波 (Two-Dimensional Fourier Transform and Filtering)
- JS广告代码效果大全
- linux重启tomcat进程,Linux系统重启tomcat服务的方法详解
- 百度网盘微信小程序文件 同步到百度网盘APP或客户端
- Scrapy报错之:Request object has no attribute dont_filter
- ibm r40的内存品牌_在IBM Business Process Manager中品牌化和定制教练主题
- Java 获取IP地址的工具类
- 干货 | 如何用好 ISO 9001质量管理体系
- ​盘点几款国内外安全稳定的域名解析平台​
- Android 10 加载手机本地图片
- VAE逻辑整理及VAE在异常检测中的小实验(附代码)
- upload-labs第一关
- CEF资源无法下载(https://cef-builds.spotifycdn.com)
- vue表单校验一直不通过
- css 录音声波动效