The original URL to do CRC32 check, get the check code, using sprintf officers transferred Guevara check code into unsigned numbers, detailed steps please see this article
PHP generated Short URL principle: 1. The original URL do crc32 check, get the check code. 2. Use sprintf ('%u ') officers transferred Guevara code to convert to unsigned digits. 3.62 Operations for unsigned digits (uppercase and lowercase + digits equal to 62 digits), the remainder is mapped to 62 characters, and the mapped characters are saved. (for example, the remainder is 10, the mapped character is a,0-9 corresponds to the 0-9,10-35 corresponding to the a-z,35-62 A-Z) 4. Circular operation until the value is 0. 5. All mapped characters are spliced, which is the code after the short URL. Code as follows: The code is as follows:/** generates a short URL * @param string $url the original URL * @return string/function DWZ ($url) {$code = sprintf ('%u ', CRC32 ($url)); $surl = '; while ($code) {$mod = $code% 62; if ($mod >9 && $mod <=35) {$mod = Chr ($mod + 55); }elseif ($mod >35) {$mod = Chr ($mod + 61); $surl. = $mod; $code = Floor ($code/62); return $surl; }