saol ascer ne alemdesin ya sende yaz 2 bişiler
hazır girmişken bişi daha yazam
youtube indirici getten gelen youtube video id sini indirir.
<?php //php yi başlattık
if(empty($_GET[id])) die("Id yi boş gönderemezsiniz");//id boş ise ekrana hata verdirdik ve scriptin alt kısmının çalışmasını engelledik die() fonk ile
        function dosya_al($url) {//dosya al fonksiyonunu tanımlıyoruz $url deişkenini alarak
            if(function_exists('curl_init')) {//curl fonksiyonu sunucuda mevcut kurulu ise curl ile alıyor yoksa file_get_contents ile alıyor
                $ch = curl_init();
                curl_setopt ($ch, CURLOPT_URL, $url);
                curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
                curl_setopt ($ch, CURLOPT_REFERER, $url);
                $veri = curl_exec($ch);
                curl_close($ch);
            } else {
                $veri = file_get_contents($url);
            }
            return $veri;//veri değişkeni fonksiyondan çıktı olarak veriliyor
        }

function indir($id) { //youtube indir fonk. tanımlanyor
$url="http://www.youtube.com/watch?v=".$id;//sayfa atanıyor
$gelen=dosya_al($url);//dosya al fonksiyonuna gidip sayfa çekiliyor
$bic=explode('SWFObject("/player2.swf?hl=en&',$gelen); $bic=explode('"',$bic[1]);
$title=explode('<title>',$gelen); $title=explode('</title>',$title[1]);//preg_match ile yapabilirdik ama ne biliyim zamanında explode ile yapmış koymuşum o yüzden değişmeye gerek duymadım bu explode satırlarınıda 
//SWFObject("/player2.swf?hl=en& buradan başla" a kadar olan kısmı al dedik
//ikinci explode ise sayfanın titlesini yani videonun adını aldık
$veri[baslik]=$title[0];//explode nin [0] . çıktısı video adı
$veri[link]=$bic[0]; // video deep adresi &t= olan kısmı mühimdi
return $veri;// veri arrayına dönüş yaptırdık
}
$gidiyok=indir($_GET[id]);//indir fonksiyonuna id yi gönderdik ve videp deep link ile video adını aldık 
ob_start();//header lerle işlem yapacağımız için ekşin yaptık burayıda
              ini_set('zlib.output_compression', 'Off');//zlip çıktı sıkıştırmasını kapadık
           header('Content-Description: File Transfer');//sayfa açıklaması nı atadık
           header("Pragma: public");// cache cont dikkat ederseniz youtubeden videoyu izlediyseniz ve bu indiriciye sonra tıklarsanız mesala user videoyu izledi bğeendi indirmek istedi haşırt diye cacheden 1-2 sn de video iner
           header("Expires: 0");// geçerlilik
           header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
           header("Cache-Control: private",false);
           header("Content-Type: application/force-download");// bir tip php nin content typleri mesala resim basacaksanız image/jpeg , png gif gibi video ise karakter düzenlemesi yapacaksanız 
//   header("Content-Type: text/html; charset=utf-8"); gibi text/xml vs. gibi atamalar yapılabilir biz burada dosya indirtmek için download yaptık içerik tipini
           header("Content-Disposition: attachment; filename=\"www.biseyret.com-".$gidiyok[baslik].".flv\";");// içeriğe aldığımız dosya adını ve başınada site adımızı ekledik inecek dosyayı sayfaya atadık
           header("Content-Transfer-Encoding: binary");// transfer tipini atadık
           header("Content-Length: ".@filesize($dadi));//indirme sayfasında çıkacak dosya boyutu şukadardır bilgisinede verdik
           readfile("http://youtube.com/get_video?$gidiyok[link]") or die("Dosya Bulunamadı");// indirme olayıda burada tamama erdi
?>
iyi oldu galiba
bu dosyayı indir.php diye kayıt edin
indir.php?id=youtube_video_id
gibi videoyu indir diye link verebilirsiniz şayet şöyle bişi varsa hostunuzda youtube video id sini
http://www.youtube.com/v/NCO6y2ML7kw

bu şekilde saklıyorsanız
video id sine nasıl erişecem diyorsanız hemen
split-explode 2 side olur split i anlatalım bunları
daha önce
https://www.r10.net/php/73461-php-de-...ibi-okuma.html
burada vermiştim bakabilirsiniz

http://www.youtube.com/v/NCO6y2ML7kw
bu dosya url si

$link değişkeninde diye düşünelim
son video id sini almak için
$idx=split('/',$link);
$video_id=$idx[4];
4. slashes(/) ten sonrası nı video_id değişkenine atamasını
söyledik
link verirkende
<a href='indir.php?id=<?=$video_id;?>' title='$title videosunu indir'>
$title İndir</a>
gibi linklendirebilirsiniz araya img falan koyup ona link verirseniz
vs.vs. herşey mümkün