Youtube Downloader using PHP
This short tutorial will show you how to download videos from Youtube using PHP. CURL is needed for this script because many webhosting now prohibit remote_fopen.
First function, get HTML content from an URL:< ?php
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 string that contain the clue of where the video file is located:< ?php
function get_flv_link($string) {
if (eregi("watch_fullscreen?video_id=(.*)&title=", $string, $out)) {
$outdata = $out[1];
}
return 'https://youtube.com/get_video.php?video_id='.$outdata;
}
?>
Next function, “visit” the link that we got from second function above. We will read the header and find out the real file location:< ?php
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;
}
?>
Function above will return a bunch of HTTP headers and we don’t need them all. This function will parse the HTTP headers and only return the video location:< ?php
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));
}
?>
Last thing to do, is bundle all functions above:< ?php
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);
}
?>
Wait, how to use the youtube downloader? It’s very simple:< ?php
$url = "https://youtube.com/watch?v=SAQZ0BDXn48";
echo download_youtube($url);
?>
That’s all folks. It’s a very interesting and chalenging moment when I wrote any kind of grabbing scripts. Hope it helps yo all.
You may also like
4 comments
Leave a ReplyCancel reply
Archives
- April 2025
- March 2025
- February 2025
- November 2023
- January 2023
- October 2022
- August 2022
- April 2022
- March 2022
- January 2022
- July 2021
- October 2020
- August 2020
- June 2020
- January 2020
- November 2019
- July 2019
- December 2018
- October 2018
- September 2018
- August 2018
- May 2018
- March 2018
- February 2018
- December 2017
- September 2017
- June 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- May 2014
- April 2014
- March 2014
- February 2014
- November 2013
- October 2013
- September 2013
- July 2013
- June 2013
- January 2013
- December 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- June 2006
- March 2006
Calendar
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | |||||
bro aku ga bisa download source codenya. tolong di upload lagi dunk source codenya atau kirim ke emailku.sorry ya merepotkan 🙂
Hello. I pasted the code together however I can’t get it to run. Do you have the full source code available for me to look at?
Hey
Do you have a similar script for Google Videos. I tried altering your above code but was not that successful.
So if you have a working Google Video Downloader please let me know.
Thank you very much.
Code is not working. Have you came up with a fix yet?