function mcv_videos($url) { $saveurl = md5($url); $path = ABSPATH . "videocache/{$saveurl}.json"; $tpldir = get_bloginfo('template_directory'); $content = "<li class=\"loading\"><div class=\"pts\">loading</div><a href=\"javascript:;\" class=\"videoPic\"><img src=\"{$tpldir}/images/mcv_loading.gif\" alt=\"null\" class=\"load\" /><time>00:00</time></a><a href=\"javascript:;\" data-onsite=\"{$url}\" class=\"title\" title=\"正在更新视频...\">正在更新视频...</a></li>\r\n\t"; if (!file_exists($path)) { mcv_save(md5($url), curl_file($url)); return $content; } else { $now = time(); $ftime = filemtime($path); if ($now - $ftime > 3600) { /* 缓存文件有效期(秒) */ mcv_save(md5($url), curl_file($url)); return $content; } else { $filepath = file_get_contents($path); $json = json_decode($filepath, true); if ($json['status'] == 1) { return "<li class=\"{$json['type']}\"><div class=\"pts\">{$json['play']} pts</div><a href=\"javascript:;\" data-offsite=\"{$json['offsite']}\" data-oriurl=\"{$json['oriurl']}\" class=\"videoPic\"><img src=\"{$json['pic']}\" alt=\"{$json['title']}\" /><time>{$json['time']}</time></a><a href=\"javascript:;\" data-onsite=\"{$json['onsite']}\" class=\"title\" title=\"{$json['title']}\">{$json['title']}</a></li>"; } else { return "<li class=\"null\"><div class=\"pts\">null</div><a href=\"javascript:;\" class=\"videoPic\"><img src=\"{$tpldir}/images/mcv_sad.png\" alt=\"null\" class=\"load\" /><time>00:00</time></a><a href=\"javascript:;\" data-onsite=\"{$url}\" class=\"title\" title=\"无法解析该视频\">无法解析该视频</a></li>\r\n\t"; } } } }
$filelist = file_get_contents("http://api.bilibili.tv/view?" . $sign['params'] . "&sign=" . $sign['sign']); $json = json_decode($filelist, true); if ($json['cid']) { $fileint = file_get_contents("http://interface.bilibili.cn/player?id=cid:" . $json['cid'] . "&aid=" . $match['av']); preg_match_all('/<([a-z]+)>(.*?)<(\\/[a-z]+)>/', $fileint, $int, PREG_SET_ORDER); $blvideo = array('status' => '1', 'type' => 'bilibili', 'play' => $int[11][2], 'title' => $json['title'], 'pic' => $json['pic'], 'time' => $int[15][2], 'offsite' => $json['offsite'], 'onsite' => $url, 'oriurl' => $int[7][2]); /* 未缓存数据 */ $path = M_CPATH . "bilibili_{$saveurl}" . M_CMIME; if (!file_exists($path)) { mcv_save("bilibili", $saveurl, $blvideo); $videos = $blvideo; } else { $now = time(); $mtime = filemtime($path); if ($now - $mtime > M_CTIME) { mcv_save("bilibili", $saveurl, $blvideo); $videos = $blvideo; } else { $opt = unserialize(file_get_contents($path)); $videos = array('status' => '1', 'type' => 'bilibili', 'play' => $opt['play'], 'title' => $opt['title'], 'pic' => $opt['pic'], 'time' => $opt['time'], 'offsite' => $opt['offsite'], 'onsite' => $opt['onsite'], 'oriurl' => $opt['oriurl']); /* 已缓存数据 */ } } } else { $videos = $error4; } } else { $videos = $error3; } } else { $videos = $error2;