写了一个简单的,可以应付一些简单的项目了。
| 以下是代码片段: <?php /** * TinyURL生成类 * * @link http://skiyo.cn * @author Jessica * @license MIT */ class TinyURL { /** * 组成URL的大小写字母 * * @var array */ protected $alpha = array(); /** * 数组数量 * * @var int */ protected $count = 0; /** * 构造器 生成URL数组 * * @access public */ public function __construct() { $this->alpha = array_merge(range(0, 9), range(’a’, ’z’), range(’A’, ’Z’)); $this->count = count($this->alpha); } /** * 通过数字生成唯一的URL * * @param int $num * @return string */ public function getURL($num) { $num = (int)$num; $url = ’’; while($num >= 1) { $url .= $num < $this->count ? $this->alpha[$num] : $this->alpha[$num%$this->count]; $num = (int)($num)/$this->count; } $url = strrev($url); return $url; } } /** * @example */ $t = new TinyURL(); for($i=1;$i<=10000;$i++) { echo $t->getURL($i). ’<br />’; } |