Php ile Goo.gl Servisini Kullanarak Link Kısaltmak

Her ne kadar fazla rağbet görmese de linkleri kısaltmak isteyenler için birçok link kısaltma servisi bulunmaktadır. Aslında bu kısaltma işlemini yapmak çok basit bir işlemden geçse de kendi sisteminizi kurmak yerine var olan kısaltma servislerini kullanmak isterseniz o zaman size güzel bir kıyak yaparak goo.gl servisini kullanarak hızlı bir biçimde linki kısaltmış olacağız.

Kısaltma işlemini geleneksel olarak cURL bağlantısı yaparak hazırladım fakat file_get_contents kullanırsanız da bir sorun çıkacağını düşünmüyorum. İşlemimiz link kısaltma olduğundan konuyu da kısa geçip direk işleme geçiyorum.

<?php
Function Baglan($link){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$link);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_REFERER,"http://www.yandex.com.tr");
$Curl = curl_exec($ch);
curl_close($ch);
return $Curl;
}
?>

Klasik bir hal olan cURL yapısı ile hazırlanmış bağlantımızı oluşturuyoruz. Bu bağlantı bizim siteye bağlanıp verileri almamızı sağlayacaktır.

Şimdi bir değişken belirleyelim. Bu değişken kısaltılmasını istediğimiz link olsun;

<?php $Site = "http://ibrahimcevruk.com"; ?>

Yukarıdaki gibi değişkenimizi de tanımladık. Şimdi siteye bağlanalım ve işlem görmesini istediğimiz linki gönderelim.

<?php $Baglan = Baglan("http://urltinyfy.appspot.com/googl?url=".$Site); ?>

Şimdi siteye bağlanıp, hangi adresi kısaltmak istediğimizi belitmiş olduk. Yukarıdaki $Baglan değişkenini ekrana yazdırdığımızda bize şöyle bir çıktı verecektir;

{"short_url": "http://goo.gl/aN8Wf", "kind": "urlshortener#url", "id": "http://goo.gl/aN8Wf", "longUrl": "http://ibrahimcevruk.com/"}

Görmüş olduğunuz gibi çıktı da hem kullanılan sitenin adresi hem de kısaltılmış hali var. Kısaltılmış hali id değeri içinde gelmekte. Şimdi bu değeri almak için preg_match_all ile id değerinin içindeki değeri alalım.

<?php preg_match_all('@"id": "(.*?)"@si',$Baglan,$Link); ?>

Siteye bağlandık, site bilgilerimizi gönderdik ve çıktıyı aldık. Çıktı sonrasında istediğimiz alanı preg_match_all ile çektik. Şimdi ekrana yazdırmak gerektiği zaman şunu kullanmalıyız;

<?php print_r($Link[1][0]); ?>

Yukarıdaki işlemler sonrasında yazmış olduğunuz linkin kısaltılmış değerini direk olarak alacaksınız.

Ek olarak yapılan bu işlemlerde kullanılan site adresinin doğru yazılıp yazılmadığını kontrol etmek için çoğu sitede var olan şu fonksiyonu kullanabilirsiniz.

function Kontrol($str){
return (!preg_match('/^(http|https):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $str)) ? false: true;
}

Yukarıdaki fonksiyonu baglan fonksiyonunun altına yazmanız gerekmektedir. Kullanım için ise yukarıdaki değeri şununla değiştirebilirsiniz;

<?php 
if(Kontrol($Site)){
// Bu alana $Baglan değişkeninden başlayarak içerikleri yazınız.
}else{
echo "Link Yapınız Geçersiz.";
}
?>

Unutmayınız ki ben burada işlemlerin nasıl yapılacağına dair fikirler üretmenizi sağlıyorum. Buradaki örnek isterseniz POST/GET ya da jQuery ile kullanabilirsiniz. Burada önemli olan işlemlerin nasıl yapıldığını öğrenebilmek. Geri kalan ise sizin yaratıcılığınız.
- 29.09.2013 / 22:20:24 1

Sosyal Medya Paylaşım Alanı

Bunlarda İlginizi Çekebilir

Html Dersleri

Google Translate İle Sitenizde Çoklu Dil Desteği Verin

Kategori: Html Dersleri | 23.06.2013
13:16 Php Dersleri
14:39 Php Dersleri

Php ile Makale Oku Alanı Yapımı

Kategori: Php Dersleri | 03.05.2013
25:55 Php Dersleri

Php ile Etiket Sistemi Yapma

Kategori: Php Dersleri | 03.05.2013
Windows

USB ile Windows 8 / Windows 7 Format Atmak

Kategori: Windows | 04.05.2013

Hadi Sende Yorum Yap!

Yorum Gönderilmiştir. Onaylandıktan Sonra Mesajınız Yayınlanacaktır.