Codeigniter3 生成用户默认头像

预览图

image

用到类库的 Github 地址:

https://github.com/yzalis/Identicon

先说明一下, 这个类库需要使用 Composer 的方式自动加载, 虽然 Codeigniter 3 支持 Composer, 因为之前项目的原因,并没有采用. 因为之前看过岁寒的博客看到一篇博文, 给 CI 插上翅膀——在 CodeIgniter 2 中使用 Laravel Eloquent ORM, 就依葫芦画瓢改造了一下.

步骤:

  • 把项目根目录下之前Codeigniter 3 自带composer.json文件备份一下,并且修改文件
1
2
3
4
5
{
"require": {
"yzalis/identicon": "^1.1"
}
}
  • 执行 composer 命令, 等待软件包安装完毕
1
composer install
  • 新建 application/libraries/Identicon.php 文件
1
2
3
4
5
6
7
8
9
10

<?php

defined('BASEPATH') or exit('No direct script access allowed');

require BASEPATH.'../vendor/autoload.php';

class Identicon extends \Identicon\Identicon{

}

这个所做的功能就是, require 自动加载文件, 自定义类继承 \Identicon\Identicon 类即可,是不是很简单.

  • 新建 application/controllers/Avarta.php 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

<?php

defined('BASEPATH') or exit('No direct script access allowed');


class Avarta extends CI_Controller {

public function output_avarta()
{

// 加载类
$this->load->library('identicon');

// 实例化
$identicon = new Identicon();

// 返回 base64图片字符串
// $identicon->getImageDataUri('霍霍', 128);

// 返回图片
echo $identicon->displayImage('霍霍', 128);

// 返回图片数据
// $identicon->getImageData('霍霍', 128);
}
}
  • 完结。