File size: 1.67Kb
<?php
function getContent($url) {
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();
ob_end_clean();
return $string;
}
////////
function fetch_headers($url) {
$headers = array();
$url = trim($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_NOBODY ,1);
$data = curl_exec($ch);
$errormsg = curl_error($ch);
curl_close($ch);
$headers = explode("\n", $data);
return $headers;
}
//////////////////////////////////
function getYoutubeToken($id) {
$path = "http://www.youtube.com/get_video_info?";
$cont = getContent($path."&video_id=".$id);
parse_str($cont, $opts);
return $opts['token'];
}
//////////////////////////////////////
///$videoItem = vid number
$videoItem = trim($_GET['item']);
$videoType = "";
$videoPath = "http://www.youtube.com/get_video";
if($_GET['type']==""){
$_GET['type'] = 17;
//17 3gp (HQ)
//13 3GP (LQ)
//18 MP4 (mob)
//22 MP4 (HQ)
//5 FLV (LQ)
}
if ($_GET['type'] != "0") {
$videoType = "&fmt=".$_GET['type'];
}
if ($videoItem != "") {
$videoTokn = getYoutubeToken($videoItem);
$videoURL = $videoPath."?video_id=".$videoItem."&t=".$videoTokn.$videoType;
$headers = fetch_headers($videoURL);
for ($i=0; $i<count($headers); $i++) {
if (strstr($headers[$i], "ocation:")) {
$str1 = explode("ocation:", $headers[$i]);
$link = trim($str1[1]);
break;
}
}
header("Location: ".$link);
exit;
}
?>