phpcms 链接ucenter修改用户头像
做的项目用户的头像是存在ucenter里面,phpcms通过phpsso这个单点登录系统? 具体的我也不清楚,phpcms自带的v9_member表里没有存放用户头像的字段,如果需要修改,就要修改ucenter里的头像,
在phpcms里读取用户头像,也需要phpsso,通过它来链接ucenter 从而获取头像。
那么怎么通过在phpcms的控制器里,可以修改用户头像呢。
首先分为两个部分:1.上传头像,并且保存。2.将保存的头像生成缩略图,并且在指定位置生成缩略图。
生成的缩略图以后,上传的头像就没有用了,可以删除,生成的缩略图就用来当头像显示(很马赛克)
代码如下:
1.文件上传函数saveimage,2.编辑个人资料函数edit_myself()(在这里要修改头像),3.在指定位置生成缩略图do_upload_avatar() 返回值是缩略图的路径,4.初始化phpsso
/* 文件上传* @param type $file $_FILES['image']* @param int $max_file_size 上传文件大小限制, 单位BYTE* @param string $img_folder 上传文件路径* @param int $imgpreview 是否生成预览图(1为生成,其他为不生成);* @param type $imgpreviewsize 缩略图比例* @return string 图片路径**/public function saveimage($file, $max_file_size = 500000, $img_folder = "uploadfile/", $imgpreview = 0, $imgpreviewsize = "1/3") { //上传头像并保存,为更改个人资料里的头像做准备//图片扩展名设置$uptypes = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif', 'image/bmp');//$file1 = $_FILES["image1"][tmp_name];//临时文件$filename = $file["tmp_name"];$pinfo = pathinfo($file["name"]); //array$ftype = $pinfo['extension']; //文件扩展名// var_dump($ftype);exit;if (!is_uploaded_file($file["tmp_name"])) {//是否存在文件echo "图片不存在!";exit;}// $file = $_FILES["image1"];// if ($max_file_size < $file["size"]) {//检查文件大小// echo "文件太大!";// exit;// }if (!in_array($file["type"], $uptypes)) {//检查文件类型echo "文件类型不符!" . $file["type"];exit;}if (!file_exists($img_folder)) {mkdir($img_folder);}$img = $img_folder . time() .rand(1,100). "." . $ftype; //图片路径加图片名 有了 时间戳和随机数 所以就不必验证文件名了,如果还能有重复的,我也很无奈啊。// if (file_exists($img)) {// echo "同名文件已经存在了";// exit;// }if (!move_uploaded_file($filename, $img)) {echo "移动文件出错";exit;}// echo $img;exit;return $img;}public function edit_myself(){ //编辑个人资料 用到上传的头像$userid = param::get_cookie('_userid');$username=$_POST['username'];$this->mem = pc_base::load_model('member_model');$res=$this->mem->select(array('userid'=>$userid),"phpssouid");$phpssouid=$res[0]['phpssouid'];$avator=get_memberavatar($phpssouid);//var_dump($avator);exit;// echo "<pre>";// var_dump($_POST); // echo "<br>";// var_dump($_FILES);exit;//var_dump($res_save);exit; //uploadimg/1494923496.jpgif( $_FILES['avator']['name']!='' ){$res_save=$this->saveimage($_FILES['avator']);$ava = $this->do_upload_avatar($phpssouid,$res_save); //保存头像}//var_dump($ava);exit;if ($username) {$mem = $this->mem->update(array('nickname'=>$username),array('userid'=>$userid)); }$this->personal();}private function do_upload_avatar($phpssouid,$avatarurl){ //将上传的头像保存是phpsso的索洛图文件夹,并生成缩略图//echo " --1-----1";exit;// 处理文件夹 开始 //根据用户id给文件夹起名字$dir1 = ceil($phpssouid / 10000);$dir2 = ceil($phpssouid % 10000 / 1000);//创建图片存储文件夹//此处硬编码,图片强制存储到sso中$avatarfile = PHPCMS_PATH.'phpsso_server/uploadfile/avatar/';$dir = $avatarfile.$dir1.'/'.$dir2.'/'.$phpssouid.'/';$avatar_url = APP_PATH . 'phpsso_server/uploadfile/avatar/'.$dir1.'/'.$dir2.'/'.$phpssouid.'/';// echo $avatarfile; D:\workspace\project\shaimobao\phpsso_server/uploadfile/avatar/// echo "-----------";// echo $dir; D:\workspace\project\shaimobao\phpsso_server/uploadfile/avatar/3/1/20750/// echo "--------";// echo $avatar_url; http://www.cms.localhost/phpsso_server/uploadfile/avatar/3/1/20750/// exit;if(!file_exists($dir)) { //根据id创建文件夹mkdir($dir, 0777, true);} //处理文件夹 end $arr_url = parse_url($avatarurl);// echo 1111;// var_dump( $arr_url);exit; // path 'uploadimg/1494923821.jpg$filename = substr($arr_url['path'],0,1)=='/'?substr($arr_url['path'],1):$arr_url['path'];$filename = substr($arr_url['path'],0,1)=='\\'?substr($arr_url['path'],1):$arr_url['path'];// echo $filename;exit; // uploadimg/1494923821.jpg$filename = PHPCMS_PATH . $filename;//echo $filename; // D:\workspace\project\shaimobao\uploadimg/1494923889.jpgif( !file_exists($filename) ) return;//生成缩略图pc_base::load_sys_class('image','','0');$image = new image(1,0);$image->thumb($filename, $dir.'30x30.jpg', 30, 30);$image->thumb($filename, $dir.'45x45.jpg', 45, 45);$image->thumb($filename, $dir.'90x90.jpg', 90, 90);$image->thumb($filename, $dir.'180x180.jpg', 180, 180);$aa=$image->thumb($filename, $dir.'480x480.jpg', 480, 480);$this->_init_phpsso();$status = $this->client->ps_updateavatar($phpssouid);$avatar = $avatar_url.'480x480.jpg';if( file_exists($filename) ){ //删除临时文件,只保留缩略图unlink ($filename); }return $avatar;}/*** 初始化phpsso* about phpsso, include client and client configure* @return string phpsso_api_url phpsso地址*/private function _init_phpsso() {pc_base::load_app_class('client', 'member', 0);define('APPID', pc_base::load_config('system', 'phpsso_appid'));$phpsso_api_url = pc_base::load_config('system', 'phpsso_api_url');$phpsso_auth_key = pc_base::load_config('system', 'phpsso_auth_key');$this->client = new client($phpsso_api_url, $phpsso_auth_key);return $phpsso_api_url;}
phpcms 链接ucenter修改用户头像相关推荐
- 个人中心修改用户头像
今天我来记录一下修改用户头像的方法,当然啦,这是我第一次实现这个功能,方法不成熟,多多包涵--- 这个需求是基于nuxt实现的,首先我来说一下需要下载的插件.修改用户头像肯定要能裁剪头像的大小,需要用 ...
- mac修改用户头像时显示照片图库未找到图片
上次重装系统后,导入时间机器的备份后,会有两个照片图库.或者不小心把原来的照片图库删了,之后再重新创建照片图库.这两种情况在修改用户头像的时候(包括修改苹果ID账号的头像)都会发现找不到默认的照片图库 ...
- Mac电脑修改用户头像操作步骤
第一次使用Mac电脑的新手用户,Mac电脑如何修改用户头像,看起来确实是个很难解决的问题,但给自己心爱的Mac系统配一个个性十足的头像又是一件非常必要的事儿. Mac电脑修改用户头像操作步骤如下: 第 ...
- 微信小程序-获取用户头像信息以及修改用户头像
这里主要用到button的open-type功能,官网已有说明: 给button设置open-type="chooseAvatar",来使bindchooseavatar方法生效, ...
- servlet修改用户头像_修改头像总结
1,背景 博客停了好久,主要是最近工作太忙了,还有就是身体状况没有以前那么好了,乘着国庆长假的空档,写下这篇一直想写的文章. 运营平台是我主要致力的一个项目,这个项目分为四个大部分,个人中心,充值中心 ...
- servlet修改用户头像_Java上传文件实现更换头像
本博文主要说,用户如何更换头像的操作 1.首先要有一个util的工具类(直接用就可以)上传文件需要的jar包,在最下方. package com.hp.factory; import java.io. ...
- 【微信小程序-原生开发+云开发+TDesign】修改用户头像(含wx.chooseMedia,wx.cloud.uploadFile,wx.cloud.deleteFile的使用)
效果预览 核心技术(含业务逻辑) 选择新头像(本地图片) 使用 wx.chooseMedia 选择本地图片,官网见 https://developers.weixin.qq.com/miniprogr ...
- 仿牛客论坛项目之修改用户头像
前言: 在项目最开始的时候,我们默认从牛客网的静态资源库中选择一张照片作为用户的头像,但在实际开发中,我们还要考虑用户可以自己设置头像. 思路: 上传文件(上传到硬盘服务器上 或者 上传到云服务器上, ...
- uniapp修改用户头像,昵称等信息
效果图: 点击修改头像按钮后弹出的弹框: 代码: <template><view class="userinfo"><view class=" ...
最新文章
- 尺度空间理论与图像金字塔(二)
- 用Backbone.js创建一个联系人管理系统(一)
- Node系列——Node第三方模块使用总结
- Smarty模板技术学习(二)
- struts2配置问题
- unwrap函数c语言实现,AppDomain与Assembly的动态加载与卸载代码详解
- 系统卡 服务器cpu 内存不足,电脑很卡 系统提示内存不足的解决办法
- 计算机原理的拼音,微机原理课程,the course of microcomputer principles,音标,读音,翻译,英文例句,英语词典...
- classes是什么意思怎么读_classes怎么读用法大全_classes是什么意思
- 【工具】多人在线协同编辑文档软件
- DS1302 的 BURST 模式
- 静态空间管理和动态空间管理
- 7位白手起家的亿万富豪的7大独特做事准则 凤凰科技02-0411:46 原标题:7位白手起家的亿万富豪的7大独特做事准则 那些白手起家的亿万富翁企业家是否有一些独特的思维方式和做事准则,从而让自己获得
- mDNS原理的简单理解
- 深大uooc学术道德与学术规范教育第七章
- HTML设置格式化时间
- Python基础——魔法方法与异常处理
- 【渝粤题库】陕西师范大学292311国际金融Ⅰ 作业(高起专)
- 烧烤食客钟爱肉类 人均消费价格超正餐
- 第二周总结(2018-03-05~2018-03-09)
热门文章
- Liunx查看服务器日志命令
- java-php-net-python-金拱门自动订餐系统报告计算机毕业设计程序
- 手机游戏服务端怎么找到_抖音游戏直播怎么开启?如何把手机或者电脑投屏到抖音直播?...
- CALL是如何炼成的之ECX对象指针的应用
- 广东省旅行社行业协会2018年会暨肇庆旅游推介会
- 墨画子卿第一章第8节: “登徒子”
- 【JavaScript】js简易实现检测系统字体是否存在
- 串口c语言 讲觯,用Powerpoint制作C语言动画课件.pdf
- 剑灵服务器维修补偿怎么拿,剑灵福利领取中心_剑灵活动BUG补偿出炉 维护延长至晚19点_52PK剑灵...
- 通信和计算机网络管理名词解释,计算机网络名词解释和简答题