PHP ile Sosyal Paylaşım Sayılarını Çekme - Php Html5 Css jQuery - Mobil, Android, ios, internet ve Teknoloji BLoGu

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

Gönderen: Kaan   Tarih: 2018-04-30 14:04 Kategori: Php-Html5-Css-jQuery-Mysql | Okundu: 1114 Onay sırasına at Düzenle Kopyası

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.

Yorum:

CAPTCHA