最近要做一个完整功能的后台,其他包括数据备份以及头像上传。先写头像上传吧。
头像上传,yii2框架网上确实有很多,但是感觉都不是很完整。于是,下载了几个插件后,最终修改其中一个插件,作为完整版使用下来。
最终效果如下:
插件: “hyii2/yii2-avatar”: “dev-master”
composer总出问题 不管怎样 最终搞到源码如下:(vendor目录下)
插件下载下来,大部分功能都实现 但是部分样式,以及刷新后头像就不见了。。为了使功能完整,修改了部分源码。主要目的主要是把头像地址修改后放cookie中,这样刷新后还能读取到头像地址。
关键代码:
修改 \backend\views\layouts\header.php 文件
<?php
use yii\helpers\Html;
$title = "飞行人员数据统计";
$cookies = Yii::$app->request->cookies;拿cookie
$icon = $cookies->get('user-avatar');//获取默认头像
if(Yii::$app->user->identity)
{
$userId = Yii::$app->user->identity->getId();
}else{
$userId = '';
}
?>
<header class="main-header" style="z-index: 1050">
<!--此处是上传头像插件-->
<?= \hyii2\avatar\AvatarWidget::widget(['imageUrl'=>$icon]); ?>
<nav class="navbar navbar-static-top" role="navigation">
<a href="#" class="sidebar-toggle" style="font-size: 20px;
line-height: 20px;" data-toggle="push-menu" role="button">
<?php echo $title;?>