/** * 解码bencode数据 * @param string $source 要解码的数据 * @return mixed 解码后的数据 */ public static function decode($source) { // 检查数据是否正确 if (!is_string($source)) { return ''; } // 调用类本身完成解码 $decode = new self($source); $decoded = $decode->do_decode(); // 验证数据 if ($decode->offset != $decode->length) { return ''; } return $decoded; }