Return to Snippet

Revision: 15600
at July 11, 2009 09:37 by hasantayyar


Initial Code
< ?php
/**
 *  Betik Yazarı: Yusuf KOÇ ( Raiden )
 *  http://www.ysfkc.com
 *
 *  Copyright 2009 ysfkc.com
 *  Licensed under the GNU General Public License, version 2.
 *  See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
 *
 **/
 
# Read Site
# @access private
# -------------
function getData($site)
{
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL, $site);
        curl_setopt($ch,CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv:1.9.0.3) Gecko/2008092818 Pardus/2008 Firefox/3.0.4');
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        $return = curl_exec($ch);
        curl_exec($ch);
 
        return $return;
}
 
# Google PageRank
# @access private
# ---------------------
function _StrToNum($Str, $Check, $Magic)
{
        $Int32Unit = 4294967296;  // 2^32
        $length = strlen($Str);
        for ($i = 0; $i < $length; $i++) {
            $Check *= $Magic;     
            //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31), 
            //  the result of converting to integer is undefined
            //  refer to http://www.php.net/manual/en/language.types.integer.php
            if ($Check >= $Int32Unit) {
                $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
                //if the check less than -2^31
                $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
            }
            $Check += ord($Str{$i}); 
        }
        return $Check;
}
 
# Google PageRank
# @access private
# ---------------------
function _HashURL($String)
{
        $Check1 = _StrToNum($String, 0x1505, 0x21);
        $Check2 = _StrToNum($String, 0, 0x1003F);
        $Check1 >>= 2;     
        $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
        $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
        $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);    
 
        $T1 = (((($Check1 & 0x3C0) < < 4) | ($Check1 & 0x3C)) << 2) | ($Check2 & 0xF0F );
        $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
 
        return ($T1 | $T2);
}
 
# Google PageRank
# @access private
# ---------------------
function _CheckHash($Hashnum) {
        $CheckByte = 0;
        $Flag = 0;
        $HashStr = sprintf('%u', $Hashnum) ;
        $length = strlen($HashStr);
 
        for ($i = $length - 1;  $i >= 0;  $i --) {
            $Re = $HashStr{$i};
            if (1 === ($Flag % 2)) {              
                $Re += $Re;     
                $Re = (int)($Re / 10) + ($Re % 10);
            }
            $CheckByte += $Re;
            $Flag ++;    
        }
 
        $CheckByte %= 10;
        if (0 !== $CheckByte) {
            $CheckByte = 10 - $CheckByte;
            if (1 === ($Flag % 2) ) {
                if (1 === ($CheckByte % 2)) {
                    $CheckByte += 9;
                }
                $CheckByte >>= 1;
            }
        }
        return '7'.$CheckByte.$HashStr;
}
 
# Google PageRank
# @access private
# --------------------
function _googlePr($site)
{
        $hash = _CheckHash(_HashURL($site));
        $url = "http://toolbarqueries.google.com/search?client=navclient-auto&hl=en&ch=".$hash."&ie=UTF-8&oe=UTF-8&features=Rank&q=info:".$site;
        $return = getData($url);
        echo preg_replace('/Rank_1:.:/','',$return);
}
 
# Google Backlink
# @access private
# --------------------
function _googleBacklink($site)
{
        $url = "http://www.google.com.tr/search?hl=tr&q=link:".$site;
        $return =  getData($url);
        preg_match("#.*?<b>(\d*)< \/b>#sim",$return,$result);
        if ($result[1] == null)
        {
                echo 'Yok';
        }
        else
        {
                echo $result[1];
        }
}
 
# Google Index
# @access private
# ------------------
function _googleIndex($site)
{
        $url = "http://www.google.com.tr/search?hl=tr&q=site:".$site;
        $return =  getData($url);
        preg_match("#.*?(yakla.*?</b><b>(.*?)< \/b>|aramas.*?</b><b>(.*?)< \/b>).*?#",$return,$result);
        echo $result[3];
}
 
# Dmoz Result
# @access private
# --------------------
function _dmoz($site)
{
        $url = 'http://search.dmoz.org/cgi-bin/search?search='.str_replace('http://www.','',$site);
        $return = getData($url);
        preg_match("#.*?<center>(.*).*<b>.*?#",$return,$result);
        if (rtrim($result[1]) == 'No')
        {
                echo 'Yok';
        }
        else
        {
                echo 'Var';
        }
}
 
# Alexa Rank
# @access private
# -----------------------
function _alexa($url)
{
        $url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url='.str_replace('http://','',$url);
        $alexa = new SimpleXMLElement($url,NULL,TRUE);
        echo number_format($alexa->SD->POPULARITY['TEXT']);
}
 
# Genel Fonksiyon
# @access public
# ------------------
function sonucAl($istek,$url)
{
        switch ($istek)
        {
                case 'googleP': _googlePr($url); break;
                case 'googleB': _googleBacklink($url); break;
                case 'googleI': _googleIndex($url); break;
                case 'alexa': _alexa($url); break;
                case 'dmoz': _dmoz($url); break;
        }
}
?>


/*
Betiğimizde sizin kullanacağınız tek fonksiyon sonucAl() olacaktır. Çünkü diğerleri sonucAl() içinden çağrılmaktadır. Sonuc Fonksiyonumuz ise beş farklı parametre almaktadır.

Bunlar;

    * googleP: Google pagerank değeri öğrenilmek istendiğinde kullanılır
    * googleB: Google backlink değeri öğrenilmek istendiğinde kullanılır
    * googleI: Google index değeri öğrenilmek istendiğinde kullanılır
    * alexa: Alexa rank değeri öğrenilmek istendiğinde kullanılır
    * dmoz: Dmoz kaydı öğrenilmek istendiğinde kullanılır
*/

// Şimdi bir örnekle sonlandıralım.

< ?php
# Fonksiyon dosyamızı çağırıyoruz
include_once('functions.php');
 
# Sonuc Fonksiyonumuzu çağırıyoruz.
sonucAl('googleP','http://www.ysfkc.com');
?>

Initial URL
http://www.ysfkc.com/php/php-ile-web-site-bilgilerinin-alinmasi.html

Initial Description


Initial Title
Php ile Web Site Bilgilerinin Alınması (Yusuf KOÇ)

Initial Tags
php

Initial Language
PHP