franch english german arabic turkish

PHP ile Sosyal Paylaşım Sayılarını Çekme PHP ile Sosyal Paylaşım Sayılarını Çekme

Tarih: 2018-04-30 14:04 Kategori: Php-Html5-Css-jQuery-Mysql | Okundu: 2267

Php Html5 Css jQuery ile İlgili Son GönderilerDaha Fazlası

PHP ile Sosyal Paylaşım Sayılarını Çekme


PHP ile hazır bir kod paylaşacağız ve bu kodu çalıştıracağız. Konu başlığından da anlaşılacağı üzere bir linkin sosyal medya üzerindeki paylaşım sayısını görüntüleyeceğiz.

PHP kullanarak yazılan bu kod’da sosyal medya platformlarının api sistemlerine CURL aracılığı ile bağlanarak bizin sorgulattığımız sitenin paylaşım sayısını getirecek ve ekrana basacak. Bu kodları kullanarak kendi sitenizde veya projenizde hatta wordpress temalarında mevcut sayfanın kaç defa paylaşıldığını kullanıcılara gösterebilirsiniz veya yaratıcılığınıza kalmış dostlar on numara işler çıkartabilirsiniz.

sosyalmedya.php Dosyamızda ki Kodlar

Aşağıdaki kod bir PHP class’ıdır. Bunu herhangi bir isimle kaydedip kullanabilirsiniz. Ben şimdilik sosyalmedya.php olarak adlandırdığımız farz edeceğim. Kod gösterim alanında bulunan kodları alıp sizde bu isimle kaydedebilirsiniz.

<?php
class SosyalPaylasimCek
 
{
 private $url, $timeout;
 function __construct($url, $timeout = 10)
 {
 $this->url = rawurlencode($url);
 $this->timeout = $timeout;
 }
 
 function twitter_getir()
 {
 $json_string = $this->file_get_contents_curl('http://urls.api.twitter.com/1/urls/count.json?url=' . $this->url);
 $json = json_decode($json_string, true);
 return isset($json['count']) ? intval($json['count']) : 0;
 }
 
 function facebook_getir()
 {
 $json_string = $this->file_get_contents_curl('http://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=' . $this->url);
 $json = json_decode($json_string, true);
 return isset($json[0]['total_count']) ? intval($json[0]['total_count']) : 0;
 }
 
 function googleplus_getir()
 {
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
 curl_setopt($curl, CURLOPT_POST, true);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . rawurldecode($this->url) . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($curl, CURLOPT_HTTPHEADER, array(
 'Content-type: application/json'
 ));
 $curl_results = curl_exec($curl);
 curl_close($curl);
 $json = json_decode($curl_results, true);
 return isset($json[0]['result']['metadata']['globalCounts']['count']) ? intval($json[0]['result']['metadata']['globalCounts']['count']) : 0;
 }
 
 private
 function file_get_contents_curl($url)
 {
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
 curl_setopt($ch, CURLOPT_FAILONERROR, 1);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
 $cont = curl_exec($ch);
 if (curl_error($ch))
 {
 die(curl_error($ch));
 }
 
 return $cont;
 }
}
?>

index.php Dosyamızda ki Kodlar

<?php
include('sosyalmedya.php');
$scek=new SosyalPaylasimCek('http://site.com');  //Website, sayfa linkiniz. http barındırmalıdır
echo "Twitter :".$scek->twitter_getir()." <br />"; //Twitter paylaşım sayısını getirir
echo "Facebook :".$scek->facebook_getir()." <br />"; //Facebook beğeni, paylaşım ve yorum sayısını getirir.
echo "Google Plus :".$scek->googleplus_getir()." <br />"; //Google Plusone (+1) sayısını getirir
?>

 

 



Yorumlar: (0)

Henüz yorum yapılmamıştır.

Benedict Cumberbatch'ın yeni dizisi Eric'in afişi paylaşıldı!
Benedict Cumberbatc...
Süper Mario'nun yeni animasyon filmi 2026'da vizyona girecek!
Süper Mario'nun yen...
3 bin 499 dolarlık Apple Vision Pro için iadeler başladı!
3 bin 499 dolarlık ...
'3 Cisim Problemi' dizisi için geri sayım başladı...
'3 Cisim Problemi' ...
OpenAl'ın yeni "metinden videoya" yapay zeka modeli 'Sora' büyük yankı uyandırdı
OpenAl'ın yeni "met...
Kira Bildirim Formu Nasıl Doldurulur?
Kira Bildirim Formu...
Yoğurt 500 gramdan büyük ambalajda satılamayacak!
Yoğurt 500 gramdan ...
Suudi Arabistan’da 70 yıllık aradan sonra içki satışı başlıyor!
Suudi Arabistan’da ...
Meclis 16 yaş altındaki çocukların sosyal medya kullanmasını yasakladı.
Meclis 16 yaş altın...
Astrofizikçi Dr. Umut Yıldız Türkiye'ye dönme kararı aldı!
Astrofizikçi Dr. Um...