Php İle Uzak Siteden Veri Çekme
/*
uzak siteden veri çekme snnyk.com ( 01.19.2010 ) / oyunlar1.com
kullanılan site : hepoyna.net
bir sonraki versiyon : wordpress ( heeri.net )
veritanınızı hazırlayın
- tablo : tablo adi
0. sütun : id otomatik sayı
1. sütun : oyun adı TR karekterler dahil
2. sütun : oyun img ismi TR karektersiz
3. sütun : oyun swf ismi Tr karektersiz
deneme amaçlı 1-5 arası id leri çekecektir
daha sonra for döngüsü içindeki değerleri değiştirerek istediğiniz oyunları alın
*/
$dbname ="deneme";
//veritanı ismini yazın
$dbyol ="localhost";
//veritabanı yolunu yazın
$dbuser ="root";
//veritabanı kullanıcı adını yazın
$dbpass ="";
//veritabanı şifresini yazın
$tablo ="tabloadi";
//oluşturduğun tablo ismini yazın
$t_1 ="asd";
//oluşturduğunuz oyun adı sütün ismini yazınız
$t_2 ="adf";
//oluşturduğunuz oyun img sütün ismini yazınız
$t_3 ="asdfg";
//oluşturduğunuz oyun swf file isminin kaydedileceği sütun ismini yazınız
set_time_limit(999999999999999);
// zaman aşımını artırıyoruz yoksa 60 saniye sonra server sayfayı durdurur
function tr($q) {
$q = str_replace("ı","i",$q);
$q = str_replace("ö","o",$q);
$q = str_replace("ü","u",$q);
$q = str_replace("ş","s",$q);
$q = str_replace("ğ","g",$q);
$q = str_replace("ç","c",$q);
$q = str_replace(" ","_",$q);
$q=trim($q);
return $q;
}
//türkçe karekterleri hallediyoruz
$baglan = mysql_connect($dbyol,$dbuser,$dbpass) or mysql_error();
mysql_select_db($dbname) or mysql_error();
//veritabanı bağlantısı
for ($i=1; $i<=5; $i++) {
$con=file_get_contents("http://www.oyunlar1.com/games.php?flash=$i");
//for döngüsü ile hedef sitenin id değerini tek tek alıyoruz
//file_get_contents ile hedef siteyi belleğe çekiyoruz
$baslik=explode('', $con);
$baslik=explode('', $baslik[1]);
//explode motodu ile başlığı alıyoruz yani oyun adi
//title ve /title tagları arasında kalan herşey
$img='http://voxcast.oyunlar1.com/images/'.$i.'.jpg';
//oyun thumbsların bulunduğu dizin
$game='http://voxcast.oyunlar1.com/games/'.$i.'.swf';
//oyun swf dosyalarının bulunduğu dizin
$oyunadi = $baslik[0];
//explode ile parçaladığımız title ve /title tagları arasında kalan veriyi $oyunadi değişkenide atıyoruz
$oyunadi2 = tr($baslik[0]);
//boşluk tr karekter sorununu hallettik resim url ve oyun swf url ileri arıza çıkarmasın diye
//döngü içerinde hedef sitenin resmi ve oyun bilgisi
//ve bağlığı türkçe karekterlerden ayıklıyoruz
if (empty($oyunadi)) {
echo $i.' bu id bos pas gecildi.
';
}
//oyunadi değişkeni boş ise yani herhangi bir id de başlık yokse o id yi eklememesi için.
else
{
//yukardaki koşuldan farklı ise yani oyunadi değişkeni boş değil ise
echo $oyunadi."
";
echo $img."
";
echo $game."
";
//id boş değilse bilgi için ekrana bastırdık
copy($img, 'img/' .$oyunadi2.'.jpg');
copy($game, 'game/' .$oyunadi2.'.swf');
//alınan img ve game değerlerini belirttiğimiz kalsörlere copy fonksiyonu ile kopayalıyoruz
//klasörleri dizinde kendiniz oluşturun ve izinlerini 777 yapın
$ekle = mysql_query("insert into $tablo($t_1,$t_2,$t_3) values ('$oyunadi','$oyunadi2','$oyunadi2')") or mysql_error();
if($ekle) {
echo "oyun eklendi";
}
else
{
echo "bu oyun eklenemedi";
}
echo "
";
}
}
//veri kayıt sonrasınde ekrana bilgi mesajı bastırıyoruz
/*tüm oyun dosyaları imajlar ve swf dosyalarını kendi hostunuzda barındırmak istemiyorsanız copy komutlarını silin ve img ve game değişkenlerini db ye yazırın*/
?>
Hit: 3847
Yazar: snnyk