Facebook videoları Çözümü cache sistemli. - Google Fan Webmaster Forum
Google Fan Webmaster Forum  
herşeyi sana yazdım

Geri git   Google Fan Webmaster Forum > Webmaster Genel > Webmaster Genel konular sorunlar
KEY
Kayıt ol Articles Sosyal Gruplar Forumları Okundu Kabul Et

Webmaster Genel konular sorunlar Webmaster genel konular sorular sorunlar

Cevapla
 
LinkBack Seçenekler
  1  
Alt 17-02-2011, 18:22:53
 
Standart Facebook videoları Çözümü cache sistemli.

NOT : Fark ettiğiniz herhangi bir hata olur ise konu altında bildirebilirsiniz. facebook videolarına çözüm konusunun biraz tuzlanmış şeklidir.
ilk olarak bu soruna çözüm bulan arkadasa teşekür ediyorum. Arkadasın yazdığı cacheli sistem hata veriyordu yada bende öyle oldu emin değilim.

Ek yazdığım sistem URL idsine göre veritabanına kayıt alıyor. Diğer izlenmelerde veritabanından okuyor. OLurda facebookun video hashlarını değiştirme olasılığına karşın karşılaştırmada yapıyor. yani facebook hashı değişmiş ise veritabanında CACHEli linkide güncelliyor.

Mysql'e okutmanız gereken tablo.
PHP- Kodu:

-- 
-- 
Tablo yapısı: `facecache`
-- 

CREATE TABLE `facecache` (
  `
idtext NOT NULL,
  `
urltext NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=utf8

PHP Kodları :

PHP- Kodu:

<?php
ob_start
();

mysql_connect("localhost","kullanici","sifre");
mysql_select_db("database");
mysql_query("SET NAMES utf8");

function 
facelink($link) {
    
$link str_replace ("\u00253A",":",$link);
    
$link str_replace ("\u00252F","/",$link);
    
$link str_replace ("\u002526","&",$link);
    
$link str_replace ("\u00253F","?",$link);
    
$link str_replace ("\u00253D","=",$link);
    return 
$link;
}
function 
faceduzelt($urele)
{
    
$explode=explode("/",$urele);
    
$say=count($explode);
    
$son=$explode[$say-1];
    
$explode2=explode("_",$son);
    
$videoaydi=$explode2[0];

    
$al file_get_contents("http://www.facebook.com/ajax/flash/expand_inline.php?target_div=u879823_18&__a=1&v=$videoaydi");
    
$al stripslashes($al);
    
//echo $al;
    
$exp=explode("\"video_src\", \"",$al);
    
$exp=explode("\");",$exp[1]);
    
$l=facelink($exp[0]);
    
$l=str_replace('http://','',$l);
    
//$l=urlencode($l);

    
return $l;
}
$facele $_GET['link'];
//////// Bu Kısımda URL Adreslerini Parçalara Bölelim.
$explode=explode("/",$facele);
$say=count($explode);
$son=$explode[$say-1];
$explode2=explode("_",$son);
$videoaydis=intval($explode2[0]);
//////// Bu Kısımda URL Adreslerini Parçalara Bölelim.
//////// Bu Kısımda Sorgu Yapalım Veritabanında belirtilan id varmı.
@$sorgu mysql_query("select * from facecache where id=$videoaydis");
@
$duyuruoku=mysql_fetch_array($sorgu);
$idsi $duyuruoku["id"];
$url $duyuruoku["url"];
#+++++++++++++++++++++++++++++++
if ((strpos($facele,'facebook.com')) or (strpos($facele,'fbcdn.net')))  {
$facele faceduzelt($facele);
}
$facele str_replace('http://','',$facele);
$sonurls 'http://'.$facele;
#+++++++++++++++++++++++++++++++
//////// Bu Kısımda Sorgu Yapalım Veritabanında belirtilan id varmı.
//////// Bu id veritabanında Yok ise ...
if(!$idsi){

###############################################################################
if ((strpos($facele,'facebook.com')) or (strpos($facele,'fbcdn.net')))  {
$facele faceduzelt($facele);
}
$facele str_replace('http://','',$facele);
mysql_query("insert into facecache (id,url) values ('".$videoaydis."','http://".$facele."') ") or die(mysql_error());
header("Location:http://$facele");

###############################################################################
//////// Siteye bağlanıp URL Çekelim ve verileri veritabanımıza yazdıralım.
/////// Keza veritabanımıza mevcut ise . . .
}else{
##########################
if($sonurls != $url){
###############################################################################
mysql_query("update facecache SET url=$sonurls where id=$videoaydis");
$sorgu mysql_query("select * from facecache where id=$videoaydis");
$duyuruoku=mysql_fetch_array($sorgu);
$urls $duyuruoku["url"];

$urls str_replace('http://','',$urls);
header("Location:http://$urls");
###############################################################################
}else{
###############################################################################
$sorgu mysql_query("select * from facecache where id=$videoaydis");
$duyuruoku=mysql_fetch_array($sorgu);
$urls $duyuruoku["url"];

$urls str_replace('http://','',$urls);
header("Location:http://$urls");
/////// Doğrudan veritabanımızdan okuyalım ve videoyu oynatalım.
###############################################################################
 
}

}

?>

Kullanım şekli:

Player.swf?file=http://localhost/face/facele.php?link=http://video.ak.fbcdn.net/cfs-ak-snc6/79616/158/10150108614067612_63318.mp4

Örnek Player Görüntüsü:
<p><embed src="https://mo-mastermind.s3.amazonaws.com/mediaplayer/player.swf?file=http://localhost/face/facele.php?link=http://video.ak.fbcdn.net/cfs-ak-snc6/79616/158/10150108614067612_63318.mp4&amp;plugins=fbit-1,tweetit-1,sharing-1&amp;dock=true" quality="high" bgcolor="#000000" width="450" height="322" name="mymovie" align="middle" allowFullScreen="true" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /></embed></p>

iyi kullanımlar diliyorum.
__________________
php bot , php irc bot, özel veritabanı programları yazılır.

Konu WebMasterTM tarafından (18-02-2011 Saat 01:01:14 ) değiştirilmiştir..
Alıntı ile Cevapla
  2  
Alt 17-02-2011, 18:58:50
 
Standart

guzel olmus eline saglık birde curl lu versionu alabilirsek hos olur tesekkürler
__________________
Ücretsiz Player İster misin? Herşeyi Açan Player!!!
Alıntı ile Cevapla
  3  
Alt 17-02-2011, 19:11:13
 
Standart

#+++++++++++++++++++++++++++++++
if ((strpos($facele,'facebook.com')) or (strpos($facele,'fbcdn.net'))) {
$facele = faceduzelt($facele);
}
$facele = str_replace('http://','',$facele);
$sonurls = 'http://'.$facele;
#+++++++++++++++++++++++++++++++



bu kısma göre her video gösteriminde sürekli facebooka bağlanılması gerekiyor. cache mantığından uzak. bu kısmı kaldırırsan da aşağıdaki if else şartları çalışmaz. kodda tümden bi bozukluk var. kontrol et istersen.
Alıntı ile Cevapla
  4  
Alt 17-02-2011, 19:15:05
 
Standart

Salı gününe kadar sabrediin
__________________
0532 4*0 74 *3 numaralı telefondan onay almadan alışveriş yapmayın
Alıntı ile Cevapla
  5  
Alt 17-02-2011, 19:25:48
 
Standart

Alıntı:
Cappystarj0e Nickli Üyeden Alıntı Mesajı göster
#+++++++++++++++++++++++++++++++
if ((strpos($facele,'facebook.com')) or (strpos($facele,'fbcdn.net'))) {
$facele = faceduzelt($facele);
}
$facele = str_replace('http://','',$facele);
$sonurls = 'http://'.$facele;
#+++++++++++++++++++++++++++++++



bu kısma göre her video gösteriminde sürekli facebooka bağlanılması gerekiyor. cache mantığından uzak. bu kısmı kaldırırsan da aşağıdaki if else şartları çalışmaz. kodda tümden bi bozukluk var. kontrol et istersen.
kodlarda bozukluk yok onu şunun için yaptım ; Facebook hashı değiştirdiği anda veritabanındaki Linkimizide günceliyor . Yani bir karşılatırma her izlenmede yapıyor aksi durumda hataya neden olur.

Ancak hatasız bir şekilde çalışmaktadır.

****************

CURL li versiyonu bugün yetiştirebilirisem mutlaka yapacağım .

__________________
php bot , php irc bot, özel veritabanı programları yazılır.
Alıntı ile Cevapla
  6  
Alt 17-02-2011, 20:16:38
Üyeliği durduruldu
 
Standart

Mysql 'daki okutmanız gereken tablo derken sql sorgusu mu calıstırıyoruz o kodu ? sql bilgim cok az hata yapmak istemiyorum da.
+ sitem wordpress

Konu ayvabiz tarafından (17-02-2011 Saat 20:23:34 ) değiştirilmiştir..
Alıntı ile Cevapla
  7  
Alt 17-02-2011, 20:27:22
 
Standart

verdiğiniz dosyayı aynen çalıştırdım sonuç

sql sorgusu

id 454542 - url http://454542

neden böyle yaptı dostum..
Alıntı ile Cevapla
  8  
Alt 17-02-2011, 20:47:49
 
Standart

Alıntı:
WebMasterTM Nickli Üyeden Alıntı Mesajı göster


kodlarda bozukluk yok onu şunun için yaptım ; Facebook hashı değiştirdiği anda veritabanındaki Linkimizide günceliyor . Yani bir karşılatırma her izlenmede yapıyor aksi durumda hataya neden olur.

Ancak hatasız bir şekilde çalışmaktadır.

****************

CURL li versiyonu bugün yetiştirebilirisem mutlaka yapacağım .

iyi de o zaman ne anlamı var veritabanının? adam zaten her izlenmede facebooka bağlanacaksa, veritabanına ve cache'e ne gerek var? her bağlantıda alır yeni linki.
Alıntı ile Cevapla
  9  
Alt 17-02-2011, 23:26:48
 
Standart

Alıntı:
Sensizasla Nickli Üyeden Alıntı Mesajı göster
verdiğiniz dosyayı aynen çalıştırdım sonuç

sql sorgusu

id 454542 - url http://454542

neden böyle yaptı dostum..
Sorunuzu tam olarak anlayamadım ? Ancak Şunu eklemem gerekiyor
sanırım Ufak bir hatayıda bildirmiş oldunuz böylece. GİZLİ OLAN Vİdeolarda o şekilde bir çekim yapıyor olabilir. Malum bu çözüm herkese açık videolar için gecerli . %100 açık olduğuna emin olduğunuz videolar deneyebilirsiniz onuda halederiz.

2. olarak :

Mysql 'daki okutmanız gereken tablo derken sql sorgusu mu calıstırıyoruz o kodu ? sql bilgim cok az hata yapmak istemiyorum da.
+ sitem wordpress
-----------------------
Evet aynen öyle .

iyi de o zaman ne anlamı var veritabanının? adam zaten her izlenmede facebooka bağlanacaksa, veritabanına ve cache'e ne gerek var? her bağlantıda alır yeni linki.

------ > her seferinde faceden linki alıyor ancak . oradan değil Seri şekilde mysqlden okuyor. Bu şekilde video açılış hızına zarar vermeyecektir.

Diyelimki sizin söylediğiniz şekle çevirdik.

Facebook bu hashları 2 günde bir değişiyor. doğal olarak cachelerin temizlenmesi gerekecek.

bunu her zaman kontrolda edemezsiniz zira facenin zamanlamasını kestiremediğiniz için siteye girip çıkan kimseler videoyu izleyemeyecektir.

Faceden sorguyu arkaplanda yapıyor. ve hızlıca yapıyor.

Linki doğrudan çekip okutmak ayrı , Linti karşılaştırıp okutmak çok baska şeyler.

Benimkisi alternatif .
__________________
php bot , php irc bot, özel veritabanı programları yazılır.

Konu WebMasterTM tarafından (17-02-2011 Saat 23:33:33 ) değiştirilmiştir..
Alıntı ile Cevapla
  10  
Alt 17-02-2011, 23:38:00
 
Standart

eğer her seferinde facebooka bağlanacaksa, database'e gerek yok ve bu cache sistemi falan değil. zaten bağlanıyorsa alır tüm bilgileri.

cache sistemini kullanmanın amacı, get_file_contents veya cURL gibi fonksiyonları en az kullanarak sistemi çalıştırmaktır. sen burada sürekli o fonksiyonları kullanacaksan, dbye gerek yok. bariz bir hata var kodunda hala ısrar ediyorsun.

dbde kaydedilmiş bir ID varsa, onun yeniden facebooka bağlanmasına gerek yoktur. yeniden bağlanacaksa, zamana göre bağlanır. time(); ile kaydettiğin zamanı da dbye ID ile beraber kaydedersin, atıyorum 3600 saniye veya 7200 saniye geçmişse bir daha bağlanır. Değişmişse kaydeder, değişmemişse aynen bırakır.

konuyu açan adam kodu yazmış zaten, http://www.r10.net/1065683372-post1.html olsa olsa bu kodda file_get_contents yerine cURL kullandırıp yeniden paylaşırsın. bu kodu incele, hatanı göreceksin.
Alıntı ile Cevapla
Cevapla


Bookmarks

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Açık



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 19:51:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

Hosting by Radore Hosting

İçerik sağlayacı paylaşım sitelerinden biri olan R10.net WebMaster Forum Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. R10.net hakkında yapılacak tüm hukuksal Şikayetler adresi ile iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde R10.net yönetimi olarak tarafımızdan gereken işlemler yapılacak ve Avukatlarımız size dönüş yapacaktır.
ARGUS_OK

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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252