28 Şubat 2012 Salı

Sosyal Paylaşım Sitenizde Youtube benzeri sitelerden Vidyo paylaşımını sağlamak-PHP

Bir sosyal paylaşım siteniz var ve üyelerinize değişik vidyo paylaşım sitelerinden aldıkları vidyoları paylaşma imkanı vermek istiyorsunuz.Üyeler çeşitli değişik biçimlerdeki Youtube vidyo linklerini alıp sitenizde vidyo olarak paylaşmak isteyebilirler ve siz de Youtube'ın paylaşım bloğunda yer alabilecek kadar popüler değilsiniz.O zaman adım adım ve kolayca bu işi halledebiliriz :

1.Öncelikle Youtube'nin kullandığı embed koduna bakıyoruz :

iframe src=" http://www.youtube.com/embed/9EEOWbIqQdE" allowfullscreen frameborder="0" height="349" width="560"
http://www.youtube.com/watch?v=QbdpGHbLces&feature=feedu
Bakarsanız bütün Youtube linkleri 'http://www.youtube.com/watch?v=' ile başlıyor.Embed ve izleme vidyolarını teşhis ettikten sonra bunları kullanıma hazır hale getireceğiz.

2.Vidyo linkini gerekli formumuzdan POST olarak aldık ve önündeki her linkte bulunan 'http://www.youtube.com/watch?v=' ifadesini str_replace ile kaldırıyoruz yerine boşluk koyuyoruz.(eregi_replace fonksiyonu miladını dolduruyor çünkü.)Sonra gerekli temizlikleri stripslashes,strip_tags ve mysql_real_escape_string fonksiyonlarıyla yapıyoruz.Stripslahes '\' karakterlerini silerken,strip_tags ise html ve php taglarını temizliyor.Ardından elimizde 11 haneli ve '&' karakteriyle bitmesi muhtemel bir string kalıyor.


$vidyo_linki = $_POST['vidyo_linki'];
$vidyo_linki = str_replace("http://www.youtube.com/watch?v=", "",
$vidyo_linki);
$vidyo_linki = stripslashes($vidyo_linki);
$vidyo_linki= strip_tags($vidyo_linki);
$vidyo_linki = mysql_real_escape_string($vidyo_linki);


3.Yukarıdaki örnek Youtube linkimiz temizlikten sonra 'QbdpGHbLces&feature=feedu' haline dönüştü.Direk açsaydık vidyoyu elimizde 'QbdpGHbLces' gibi bir string kalabilirdi.Şimdi amacımız '&' karakterinden önceki 11 karakter uzunluğundaki stringi alıp embed kodunda kullanmak.Bunun için explode fonksiyonu çok uygun stringi belli bir karakteri görene kadar parçalara ayırıyor.Burada diyoruzki '&' karakterini görene kadar bi parça al,ondan sonrası başka parça olsun.Yeni bir array oluşuyor ismi parca ve bu stringin bölünmüş parçalarını içeriyor.Biz sadece parca arrayinin ilk elemanını alıyoruz parca[0] bu da istediğimiz 11 karakter uzunluğunda youtube vidyo idsine eşit :) bu idyi tabi paylaşım sitesi olduğumuzdan hemen veritabanına kaydediyoruz sonradan embed kodunda kullanmak için.stringimiz '&' içermese bile yine ilk 11 karakteri almış olacağız.

$parca = explode("&", $vidyo_linki);
$vidyo_linki=$parca[0];


4.Şimdi vidyo linkini embed kodunun içine yerleştirippaylaşımı dinamik olarak yapabilirsiniz.Embedin hemen sağına gelen 11 karakterlik youtube idisiyle oluşturuluş iframe kodunu artık sitemize yerleştirip vidyo paylaşımını yapabiliriz.

iframe src="http://www.youtube.com/embed/' .$vidyo_ismi. '" allowfullscreen frameborder="0" height="349" width="425"


5.Bu yöntemi izleyerek diğer vidyo sitelerinin de embed ve normal linklerine bakarak sitenizde paylaşılabilecek vidyo ağını genişletebilirsiniz.

Hiç yorum yok:

Yorum Gönder