Php ile Uzak Siteden Veri Alma

 bcakir
 30 Temmuz 2011

Merhaba arkadaşlar sınavlarım geçti ve tekrar buluştuk. Sizlere daha önce facebook uygulaması geliştireceğimizi söylemiştim fakat düşündüm de geliştireceğimiz uygulamada kullanacağımız birkaç anlatmadığım konu var. Bundan dolayı; bu konuları işleyip, temellerini öğrendikten sonra uygulamamızı geliştirelim. Şimdi geliştireceğimiz uygulamamız da ise girilen linkin bağlı olduğu sayfanın başlığını alıp ekrana yazdıran bir uygulama yapacağız. Uygulamamızı sadece Php ile yapabilecek olmamıza rağmen daha dinamik bir uygulama için JQuery kütüphanesinden yararlanacağız. İsterseniz uygulamamızı geliştirmeye başlayalım.

<html>
<head>
<title>Uzak Siteden Veri Alma</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
function Gonderme() {
    document.getElementById("sonuc").innerHTML="";
    verim=document.getElementById("link").value;

    $.ajax({
    type:'POST',
        url:"veri.php?veri="+verim,
        success: function (msg) {
        $('div#sonuc').html(msg);
       }
     });
   }
</script>
</head>
<body>
<input id="link" type="text" value=""/>
<input type="button" value="Gönder" onclick="Gonderme()" />
<div id="sonuc"></div>
</body>
</html>

Yukarıda yazdığım betiği kısaca açıklayalım. Gonderme diye fonksiyon oluşturduk. Butona tıklandığında; bu fonksiyon yardımı ile textbox’a girilen linki alıp JQuery ile veri.php betiğine gönderdik. Dönen veriyi ise sonuc adlı div’e yazdırdık. veri.php içeriğinide yazıp uygulamamızı tamamlayalım.

<?php
//veri.php olarak kaydedin
if (isset($_GET['veri'])){
    $veri=trim($_GET['veri']);
    $adres = file_get_contents($veri);
    $title=explode('<title>',$adres);
    $title=explode('</title>',$title[1]);
    echo $title[0];
}else{
    echo "Link gelmedi";
}
?>

Php betiğinde ise; file_get_contents yöntemiyle uzak siteden verilerimizi aldık. Explode ile <title></title> tagları arasındaki başlığımızı parçalayarak aldık ve echo ile bu başlığımızı ekrana basarak geriye gönderdik. Bu yöntemle istediğiniz siteden istediğiniz veriyi çekebilirsiniz. Fakat bu yöntemi lütfen yasal olmayan işlerde kullanmayınız.

 3.380 Okunma

Bu yazıya 3 yorum yapılmış.

  1. file_get_contents yerine curl kullanılmasını öneririm.

  2. Ferdi hocama katılıyorum. Curl her zaman daha iyidir.

  3. Merhaba benim şöyle bir sorum olacak,
    $(‘div#sonuc’).html(msg); dedik, ben burada işlemi yaptırdığım veri sayfasında üretilen bir veriyi ekrana basmak istiyorum. Örneğin bir veri eklediysem yeni eklenen verinin ID numarasını işlemi yaptırdığım ekranda nasıl görebilirim? (basit veya saçma olabilir ancak yeniyim) şimdiden teşekkür ederim.

Yazı hakkında görüşlerinizi belirtmek istermisiniz?

Daha fazla JQuery, Php
Kapat