phpcms 分析用户头像在服务器端的保存与使用

距离第一篇blog快4年了,没想到一下子就过去了

很少记录事,因为感觉一直很忙

这两天要请人安装水果电脑系统,闲下来了,写两篇文章来记记事

顺便看看markdown写文章是什么感觉

对phpcms也看了一段时间了,觉得它的实现还是不错的

对它也有感情了,应该也没时间再学第二个内容管理系统了

好,开始

[域名]/index.php?m=member&c=index&a=account_manage_avatar&t=1

这网页在firefox排版有问题,在chrome没问题

这个是登录后的phpcms用户的会员中心

在账号管理-》修改头像

选择头像后,有个保存按钮

按了之后,前端我就不分析了,后端是到了

[域名]/phpsso_server/index.php?m=phpsso&c=index&a=uploadavatar

下面带有slako字串的是我的分析

/** * 上传头像处理 * 传入头像压缩包,解压到指定文件夹后删除非图片文件 */

public function uploadavatar() {

//根据用户id创建文件夹

if(isset($this->data['uid']) && isset($this->data['avatardata'])) {

$this->uid = intval($this->data['uid']);

$this->avatardata = $this->data['avatardata'];

} else {

exit('0');

}

$dir1 = ceil($this->uid / 10000);//slako 一万个用户使用该目录

$dir2 = ceil($this->uid % 10000 / 1000);//slako 一万个用户中的一千个用户使用该目录

//slako 我觉得这种

//创建图片存储文件夹

$avatarfile = pc_base::load_config('system', 'upload_path').'avatar/';

$dir = $avatarfile.$dir1.'/'.$dir2.'/'.$this->uid.'/';

//slako 每一个用户有一个自己的目录

if(!file_exists($dir)) {

mkdir($dir, 0777, true);

}

//存储flashpost图片

$filename = $dir.'180x180.jpg';

$fp = fopen($filename, 'w');

fwrite($fp, $this->avatardata);

fclose($fp);

$avatararr = array('180x180.jpg', '30x30.jpg', '45x45.jpg', '90x90.jpg');

$files = glob($dir."*");

foreach($files as $_files) {

if(is_dir($_files)) dir_delete($_files);

if(!in_array(basename($_files), $avatararr)) @unlink($_files);

}

if($handle = opendir($dir)) {

while(false !== ($file = readdir($handle))) {

if($file !== '.' && $file !== '..') {

if(!in_array($file, $avatararr)) {

@unlink($dir.$file);

} else {

$info = @getimagesize($dir.$file);

if(!$info || $info[2] !=2) {

@unlink($dir.$file);

}

}

}

}

closedir($handle);

}

//slako 把头像存为几个大小

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);

//slako 标志着该用户已经有头像了

$this->db->update(array('avatar'=>1), array('uid'=>$this->uid));

exit('1');

}

当要调取使用头像时,使用方法如

public function account_manage_avatar() {

$memberinfo = $this->memberinfo;

//初始化phpsso

$phpsso_api_url = $this->_init_phpsso();

$ps_auth_key = pc_base::load_config('system', 'phpsso_auth_key');

$auth_data = $this->client->auth_data(array('uid'=>$this->memberinfo['phpssouid'],'sys_auth_time'=>microtime(true)), '', $ps_auth_key);

$upurl = base64_encode($phpsso_api_url.'/index.php?m=phpsso&c=index&a=uploadavatar&auth_data='.$auth_data);

//slako 获取头像数组的函数调用

$avatar = $this->client->ps_getavatar($this->memberinfo['phpssouid']);

include template('member', 'account_manage_avatar');

}

来看看ps_getavatar

在phpcms/modules/member/classes/client.class.php中

/** * 根据phpsso uid获取头像url *@param int $uid 用户id *@return array 四个尺寸用户头像数组 */

public function ps_getavatar($uid) {

$dir1 = ceil($uid / 10000);

$dir2 = ceil($uid % 10000 / 1000);

$url = $this->ps_api_url.'/uploadfile/avatar/'.$dir1.'/'.$dir2.'/'.$uid.'/';

$avatar = array('180'=>$url.'180x180.jpg', '90'=>$url.'90x90.jpg', '45'=>$url.'45x45.jpg', '30'=>$url.'30x30.jpg');

return $avatar;

}

这记写了一个小时,实在写得慢

下一篇分析一下该系统是怎么保存发表了的文章中的图片

php v9 用户头像,phpcms 分析用户头像在服务器端的保存与使用相关推荐

  1. 微博 用户画像_分析用户画像?从微博数据采集开始!

    想设计一款新的产品,你了解未来的用户是什么样吗?想提升服务质量,用户调研应该怎么做?想评估新功能上线效果,用户情感偏好你了解吗?有了用户画像,这些问题的答案就变得逐渐清晰起来. 那么关键问题来了,用户 ...

  2. 用户画像如何分析 用户画像如何获取

    你是否有过这样的经历:当在购物网站有过一次购物或者搜索后,网站会为你推送各种同类型商品或者互补商品:当成为某品牌的注册会员后,特殊的日子(比如生日.会员日)会收到品牌商发来的祝福短信以及优惠券:当打开 ...

  3. 利用Python实现用户群组分析!

    本文中介绍的是一种数据分析方法:群组分析Cohort Analysis. 群组分析是用于研究用户行为和提高增长的分析思路.在本文中,将结合一个数据集利用Python来实现该分析方法. https:// ...

  4. 若依系统用户权限模型分析

    本文从本人博客搬运,原文格式更加美观,可以移步原文阅读:若依系统用户权限模型分析 用户-角色-菜单 1.基本使用 这是一个经典的用户-角色-权限的模型,其中菜单就代表了权限(因为权限就代表能否访问某个 ...

  5. 是不是感觉被淘宝监控了!看啥立马就推送过来!用Python对淘宝用户行为进行分析!

    一.认识数据 1.1 数据来源及介绍 本数据来源于阿里云天池,是其随机选择约100万用户在2017年11月25日至12月3日之间发生的行为记录,具有包括点击.购买.加购物车和收藏商品的行为. 数据集的 ...

  6. 六种常见的「用户行为」分析方法

    日常的用户行为分析中,常用的六大分析方法有: 行为事件分析 页面点击分析 用户行为路径分析 用户健康度分析 漏斗模型分析 用户画像分析 用户分析能够更好地了解用户的行为习惯,发现产品在推广.拉新.用户 ...

  7. java模仿微信QQ群聊头像拼接,根据群聊内的用户头像拼接群聊头像,九宫格

    java模仿微信QQ群聊头像拼接,根据群聊内的用户头像拼接群聊头像,九宫格 效果图,这里只放了几张,1-9张图片都可以的,如果图片路径是从数据库查出来的相对路径,记得加上绝对路径否则会报找不到读取文件 ...

  8. 小程序用户头像昵称,微信头像昵称填写onChooseAvatar(2022最佳实践uniapp和原生)

    官方调整公告 小程序用户头像昵称获取规则调整公告 解决方案1 如有必要场景需收集用户头像昵称,可在个人中心或设置等页面让用户完善个人资料 解决方案二(官方) 微信头像昵称填写 使用方法 头像选择 需要 ...

  9. php实现微信小程序获取用户openid,昵称和头像方法

    最近做微信小程序,要做一个排行榜的功能,摸索了一天,终于找到获取用户openid,昵称和头像方法. 先上wxml: <button bindtap="getInfo"> ...

最新文章

  1. JAVA用递归方法判断某个字串是否是回文
  2. 计算机将成为学生们的老师英语,重庆英语教师
  3. 免费开源的 .NET 分布式组件库 Exceptionless Foundatio
  4. [剑指offer]面试题第[2]题[JAVA][替换空格][函数][字符串]
  5. Spring框架中IoC(控制反转)的原理
  6. C#生成CHM文件(应用篇)
  7. css之使用clearfix类清除浮动
  8. 微信小程序|基于小程序+C#实现聊天功能
  9. Testbench编写方法
  10. C语言:查找数组中最小的元素
  11. FIT2CLOUD飞致云旗下开源项目DataEase成功进入GitHub趋势榜主榜
  12. matplotlib画图使用微软雅黑字体
  13. 使用selenium模拟登陆163邮箱
  14. java 时间显示毫秒_Java程序以毫秒为单位显示日期和时间
  15. PES、PS、TS详解
  16. 好用的mysql可视化工具_介绍一款免费好用的可视化数据库管理工具
  17. AUTOSAR I-PDU的理解以及I-PDU的Callout
  18. 学习Hadoop课程
  19. 目前什么ip软件比较好用,国内ip最多呢
  20. c语言怎么输入一个字符串跳出循环,关于字符串:键入Quit退出C程序

热门文章

  1. ESP8266 连接手提电脑创建的TCP服务器不成功
  2. 2022年全球市场美白精华总体规模、主要生产商、主要地区、产品和应用细分研究报告
  3. Kaggle简单实战
  4. 【C语言】C语言多线程实例之pthread的应用
  5. 【转】乔布斯经典语录
  6. ROS_MASTER_URI和ROS_IP的设置
  7. mysql导出建库语句_mysql 导出成sql,再次导入,发现没有自动建库语句是怎么回事?...
  8. blackice病毒处理方法
  9. Vulnhub靶机实战-NARAK
  10. ARM架构二 ARMv5T架构简介