php скрипт – скачать видео с youtube [updated]

Июнь 22, 2007

Функциональная и более мастевая версия

Вроде работает. Функция get_youtube_video_link принимает url на youtube, а возвращает url самого flv видео. Требует curl.

function get_youtube_video_link($url)
{
$crl = curl_init();
curl_setopt($crl, CURLOPT_URL, $url);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($crl);
curl_close($crl);
if (preg_match(’/\/player2\.swf\?(.*)”, “movie_/’, $data, $match))
$url = ‘http://youtube.com/get_video.php?’.$match[1];
else return false;
$crl = curl_init();
curl_setopt($crl, CURLOPT_URL, $url);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($crl, CURLOPT_HEADER, 1);
$data = curl_exec($crl);
curl_close($crl);
$a = explode(”\n”,$data);
foreach($a as $ae)
if(eregi(”location”,$ae)) $location = $ae;
if (!isset($location)) return false;
$location = explode(”Location:”,$location);
$location = trim($location[1]);
return $location;
}

Использование – что-то вроде:

$flv = get_youtube_video_link(”http://www.youtube.com/watch?v=je1H-57AaVg”);

$movie = file_get_contents($flv);