博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中整合UCHOME中上传头像插件
阅读量:6378 次
发布时间:2019-06-23

本文共 2117 字,大约阅读时间需要 7 分钟。

UCHOME现在很多论坛都是在使用该开源程序,其中上传头像模块很是好使,下面作者就使用网上有的分离出来UCHOME的AVATAR上传插件进行方法整合。

首先是将下载的插件包放到项目中:(这边先废话下,采用的是YII框架进行整合的,本来想放进YII的扩展包里面的,但是测试后发现不得行,就放到项目中进行整合了。)

1、将下载下来的插件包放入如下位置:

2、定义配置下载包中的配置文件,配置信息要按照个人的去进行配置了,作者的配置信息如下:configs.global.php

重要的是下面4个define里面的配置信息。

3、在YII的Controller.php基类中增加2个方法:

  1.第一个方法是用来初始化页面头像和FLASH上传插件的:

/** * 整合UCHOME分离出来的头像上传插件 * @param $uid 程序中用户的ID int类型 * @return Array('avatarUrl','flashUrl'); */public function avatar($uid){    $avatarPath = Yii::app() -> request ->baseUrl.'/avatar/';//获取UCAVATAR插件引入包路径    require_once($avatarPath.'/configs.global.php');//引入UCAVATAR配置文件    require_once($avatarPath.'/avatar.php');//引入UCAVATAR核心类    $objAvatar = new Avatar();    $personAvatarUrl=$this->getAvatar($uid);//获取用户头像    $uc_avatarflash = $objAvatar->uc_avatar($uid, (empty($_SCONFIG['avatarreal'])?'virtual':'real'));//获取上传头像FLASH插件地址    return array('personAvatarUrl'=>$personAvatarUrl,'avatarFlashUrl'=>$uc_avatarflash);}

  2.第二个方法是用来获取不同规格的头像路径的:

/**     * 获取用户上传的头像     * @param $uid     * @param $size 值为:small、middle、big     * @return String avatar URL     * @example $size 默认获取big大图     */    public function getAvatar($uid,$size='big'){        $uid = sprintf('%09d', $uid);        $dir1 = substr($uid, 0, 3);        $dir2 = substr($uid, 3, 2);        $dir3 = substr($uid, 5, 2);        //获取头像文件在系统中的绝对位置        $avatarUrl=$_SERVER['DOCUMENT_ROOT'].'/avatar/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg';        //检测是否存在有上传头像        if (file_exists($avatarUrl)){
//有,输出头像的URL地址 return 'http://'.$_SERVER['HTTP_HOST'].'/avatar/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg'; }else{
//无,输出默认头像地址 return 'http://'.$_SERVER['HTTP_HOST'].'/avatar/images/noavatar_'.$size.'.gif'; } }

到此整合UCHOME的头像上传插件就基本完成了,下面进行测试,测试代码如下:

$avatar=$this->avatar(1000);$pic=$avatar['personAvatarUrl'];$avatarFlash =$avatar['avatarFlashUrl'];

前台页面调用的测试信息如下:

未上传头像时候的页面:

上传头像后的页面展示效果如下:

点击完成按钮后就完成了头像的设置。

到此整合UCHOME的头像上传插件就完成了。

插件上传地址:

转载于:https://www.cnblogs.com/ez1989/p/3513740.html

你可能感兴趣的文章
程序员写简历时必须注意的技术词汇拼写(持续更新...)
查看>>
“浅薄”绝不该是中国程序员的性格特征
查看>>
设计模式-外观模式
查看>>
学术研究网站
查看>>
自定义裁剪和缩放图像的jQuery插件Cropit使用的大坑
查看>>
MinGW编译wxWidgets问题
查看>>
我的友情链接
查看>>
dubbo和docker
查看>>
使用Notepad++将多行数据合并成一行
查看>>
gitlab服务器配置
查看>>
teamcity实践
查看>>
MapReduce Streaming
查看>>
[转载] Knowledge Management and Engineering——05 知识管理的概念
查看>>
SQL Server 2005如何起用 xp_cmdshell - SQL-Server - IT技术网
查看>>
经典分享:设计模式之六大原则
查看>>
MySQL数据库如何用rand随机查询记录效率测试
查看>>
IOCP模型的总结
查看>>
红外图像处理
查看>>
Mysql基于GTID搭建主从同步
查看>>
Cloud in Action: Migrate OpenStack from Linux Bridge to Open vSwitch
查看>>