24 May 2007 02:16:06 WIB,under category PHP (6407 views)
Script ini akan membaca halaman Youtube lalu mencari link menuju file video-nya. Lalu, file video tersebut tinggal di download menggunakan download manager.Mungkin sudah ada yang pernah baca listing di bawah ini, saya memang sudah menyebarkannya kemana-mana he.he.
Script ini membutuhkan CURL. Kenapa CURL? Karena kebanyakan webhosting sudah mendisable remote [php]fopen()[/php]. Ok, segera saja kita mulai. Ada lima fungsi di sini, mari kita bahas satu-persatu.
Yang pertama, membaca isi halaman web youtube yang menampilkan video. Di halaman ini, tercantum petunjuk di mana file video sebenarnya tersimpan. Makanya kita harus baca dulu isi halaman youtube-nya:
<?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;
}
?>Yang kedua, kita ambil string yang mengandung petunjuk di mana lokasi file video sebenarnya tersimpan:
<?php
function get_flv_link($string) {
if (preg_match('/\/player2\.swf\?(.*)", "a"/', $string, $match)) {
$url = $match[1];
return 'http://youtube.com/get_video.php?'.$url;
}
}
?>Selanjutnya, kita buat fungsi yang bertugas mengunjungi link tersebut. Jika link tersebut dibuka menggunakan browser, kita akan terlempar (forwarded) ke file video tersebut dan otomatis akan muncul dialog download file. Nah, kita manfaatkan CURL untuk mencari tahu di mana kita terlempar:
<?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;
}
?>Nah, fungsi yang ini untuk membaca HTTP Header dan menampilkan lokasinya:
<?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));
}
?>Terakhir, kita sederhanakan semua fungsi di atas dan bungkus jadi satu fungsi:
<?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);
}
?>Jadi deh...
Eit, lalu cara pakenya gimana?
<?php
$url = "http://youtube.com/watch?v=SAQZ0BDXn48";
echo download_youtube($url);
?>Well guys, sekian tutorial kita kali ini ^_*
funkshit
24 May 2007 05:19:21agung
24 May 2007 11:37:55kekeke.. ditulis jg tutorialnya. mantabs.. *two brams up* . jeng sandal, kalau fsockopen yang di-disable, gimana ngakalinnya yak?
@pangsit
yang dimatiin itu allow_url_fopen,fopen-nya ttp bisa jalan kok, cuma ngga bisa remote.Jauhari
18 Jun 2007 04:07:54Ancen pinter mas iki rek ;)Yogi
02 Jul 2007 05:01:26Wah keren nich, ternyata yg bikin orang Indonesia :D. Setelah bikin templatenya 1 jam akhirnya dites di http://www.wpranking.com/video/
dan berhasil :D, tapi kadang link download yg digenerate panjang amat.
Thanks buat scriptnya, kl bisa dikembangin lg buat download dari situs2 video lainnya :)sandal
02 Jul 2007 05:17:06@Yogi
yupe. ke depannya memang bakal support situs2 video lainnya mas ^_*Yogi
02 Jul 2007 08:36:33Great :)
Subscribe feednya deh biar tau kapan ada fitur baru lg :DEL
26 Jul 2007 22:48:44EL
26 Jul 2007 22:49:22hhhh
30 Jul 2007 19:09:19uuuuuuuuuuuunurhadidi
27 Sep 2007 08:24:49ucapapan selamat buat kawan,di MAN CIWARINGIN-CIREBON ;semoga puasa kami di terima oleh swt amiiiiiiiiiiiiiiiiiiiiiiiToni McFarland
09 Dec 2007 09:54:58The best YouTube Video Downloader that I have found on the net is TubeSucker. I have done loaded maybe 15 of these things and TubeSucker is by far the best, just because of the way it works, and all of its features. It just does a lot more stuff. Check out the link above. I hope this helps some folks.augsutinus robert
05 Jan 2008 16:03:31yupUHoKeHTuu
12 Jan 2008 13:36:45Radik
21 Jan 2008 07:01:34Blek
07 Apr 2008 20:34:55keren mas script nya... kalau mau hosting images ke sini aja ya >>> http://linkget.co.cc
Yeni Setiawan
A happy living programmer and Opera (browser) lover. When you know me more, you will hate me more. Please beware..
No Copyright 2006 - 2008 sandalian.com. You're granted rights to use any resources from this place freely!
jadi fopenbisa disable toh
puantesan saya sering nyoba pake fopen nda bisa . , , ,
lanjoet juragan