APlayer_Plugin::get_netease_lyric PHP Метод

get_netease_lyric() приватный статический Метод

根据id从netease中获取歌词,带缓存
private static get_netease_lyric ( $id )
    private static function get_netease_lyric($id)
    {
        $key = 'netease_lrc_' . $id;
        $result = self::cache_get($key);
        if ($result && isset($result[0])) {
            return $result[0];
        } else {
            //缓存取不到则重新抓取
            $url = 'http://music.163.com/api/song/media?id=' . $id;
            $refere = 'http://music.163.com;';
            if (!function_exists('curl_init')) {
                return false;
            } else {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_HTTPHEADER, array('Cookie: appver=2.0.2'));
                curl_setopt($ch, CURLOPT_TIMEOUT, 15);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
                curl_setopt($ch, CURLOPT_REFERER, $refere);
                $cexecute = curl_exec($ch);
                curl_close($ch);
                $JSON = false;
                if ($cexecute) {
                    $result = json_decode($cexecute, true);
                    if ($result['code'] == 200 && isset($result['lyric']) && $result['lyric']) {
                        $JSON = array('status' => true, 'lyric' => $result['lyric']);
                    }
                } else {
                    $JSON = array('status' => true, 'lyric' => null);
                }
                //存入缓存
                self::cache_set($key, array($JSON));
                return $JSON;
            }
        }
    }