Identicon:实现根据用户账号生成像素头像php版
上github或者其它一些技术社区,经常可以看到这种像素效果的头像:
v2ex社区的像素头像
这种头像一般是为了让没有上传头像的用户能呈现多样化的效果,避免清一色默认头像的尴尬。
这种头像有个专门的术语:Identicon。所以要找这方面的资料搜Identicon就可以了。
我想要的是一个php版本的,对比了很多个项目,发现只有yzalis/Identicon做的比较好。其实现的效果如下:
但是这个库使用对于新手来说存在一点问题。
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