【发布时间】:2015-11-06 18:59:00
【问题描述】:
我正在尝试从这里使用 php url 缩短器: https://github.com/delight-im/ShortURL
我刚刚复制了这段代码并尝试了一个数字,但是我有一个 php 错误“调用未定义的函数 encode()”。 我找不到问题。
你能帮帮我吗
这是我的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans titre</title>
</head>
<body>
<?php
/**
* ShortURL: Bijective conversion between natural numbers (IDs) and short strings
*
* ShortURL::encode() takes an ID and turns it into a short string
* ShortURL::decode() takes a short string and turns it into an ID
*
* Features:
* + large alphabet (51 chars) and thus very short resulting strings
* + proof against offensive words (removed 'a', 'e', 'i', 'o' and 'u')
* + unambiguous (removed 'I', 'l', '1', 'O' and '0')
*
* Example output:
* 123456789 <=> pgK8p
*
* Source: https://github.com/delight-im/ShortURL (Apache License 2.0)
*/
class ShortURL {
const ALPHABET = '23456789bcdfghjkmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ-_';
const BASE = 51; // strlen(self::ALPHABET)
public static function encode($num) {
$str = '';
while ($num > 0) {
$str = substr(self::ALPHABET, ($num % self::BASE), 1) . $str;
$num = floor($num / self::BASE);
}
return $str;
}
public static function decode($str) {
$num = 0;
$len = strlen($str);
for ($i = 0; $i < $len; $i++) {
$num = $num * self::BASE + strpos(self::ALPHABET, $str[$i]);
}
return $num;
}
}
ShortURL.encode(5356);
?>
</body>
</html>
【问题讨论】:
-
你看到那个班上的 cmets 了吗?你知道你是怎么做的吗?
标签: php