首页 › 程序设计 › php

Identicon:实现根据用户账号生成像素头像php版

泡在网上的日子 / 文 发表于2016-11-05 13:11 次阅读 像素,头像

上github或者其它一些技术社区,经常可以看到这种像素效果的头像:

5F82B78F-A89E-4D06-967B-A0B492C85CF6.png

v2ex社区的像素头像

这种头像一般是为了让没有上传头像的用户能呈现多样化的效果,避免清一色默认头像的尴尬。

这种头像有个专门的术语:Identicon。所以要找这方面的资料搜Identicon就可以了。

我想要的是一个php版本的,对比了很多个项目,发现只有yzalis/Identicon做的比较好。其实现的效果如下:

9D5180AF-D753-425C-A595-0DE8261CF785.png

但是这个库使用对于新手来说存在一点问题。

1.yzalis/Identicon文档中介绍的使用方法用到了composer.json这样的方式,很多人不太会,包括我,而且用这个库也是作为小工具来使用的,按照文档那种配置太麻烦了。

2.yzalis/Identicon源码中使用了use关键字,php版本较低的话不支持,需要php5.3。ps:奇怪的是我php5.4居然也会报错~

下面就介绍一种非常传统的php写法来使用这个库。

其实就是要解决上面的两个问题。

首先文档中提到的composer.json是为了解决依赖管理的问题,这个根本不用管,包括下面的代码你都不用管:

<?php

require 'vendor/autoload.php';

依赖我们完全可以用require_once来解决。

还有就是use的问题,去掉源码中所有的use,namespace关键字,使用到use的地方我们用require_once替代,而namespace直接去掉即可。

如果你不知道怎么做,直接下载一个我修改之后的版本就可以了https://github.com/jianghejie/Identicon 。

修改后的项目里面,index.php是使用这个库的例子。

要看效果直接输入url:http://www.xxxx.com/Identicon/index.php?string=test&size=48

收藏 赞 (1) 踩 (0)
上一篇:Facebook风格的 time ago函数-php
非常还用,只要把里面的英文替换成中文就行了 ?phpfunctionnicetime($date){if(empty($date)){returnNodateprovided;}$periods=array(second,minute,hour,day,week,month,year,decade);$lengths=array(60,60,24,7,4.35,12,10);$now=time();$unix_date=strtot
下一篇:php实现星级评分系统的一些资料
很多电影网站都有评分系统,一般都是5星评分系统。现在我也有这样的需求,于是在网上找了一些看起来比较靠谱的资料,有些资料还带有demo,前后端全套代码。 全是国外的资料,也许国内的也有,但是用中文真的没搜到能用的。不得不说现在中文技术资料真的是越