webdeveloper
Registered
Как мога да взема директният линк (тоест да завършва на .flv) към дадено клипче от youtube?
Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
<?php
// first function, read HTML from youtube
function get_content_of_url($url){
$ohyeah = curl_init();
curl_setopt($ohyeah, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ohyeah, CURLOPT_URL, $url);
$data = curl_exec($ohyeah);
curl_close($ohyeah);
return $data;
}
// second function, get path that lead into movie files
function get_flv_link($string) {
if (preg_match('/\/player2\.swf\?(.*)", "movie_player"/', $string, $match)) {
$url = $match[1];
return 'http://youtube.com/get_video.php?'.$url;
}
}
// third function, read header returned by second function above
function get_http_header($url){
$uh = curl_init();
curl_setopt($uh, CURLOPT_URL, $url);
curl_setopt($uh, CURLOPT_HEADER, 1);
curl_setopt($uh, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($uh);
curl_close($uh);
return $res;
}
// fourth function, parse the header and show only the link
function show_url($http_header){
$arai = explode("\n",$http_header);
foreach($arai as $ini){
if(eregi("location",$ini)) $url = $ini;
}
list($sampah,$hasil) = explode("Location:",$url);
return str_replace("\n","",trim($hasil));
}
// fifth function, join the four functions above
function download_youtube($url){
$data = get_content_of_url($url);
$next_url = get_flv_link($data);
$data = get_http_header($next_url);
return show_url($data);
}
?>
Usage Example
<?php
error_reporting(0); // <-- to eliminate error report
ini_set("max_execution_time",0); // <-- to avoid operation timed out
echo download_youtube("http://youtube.com/watch?v=O-Tt229laCE");
?>