IP2Pais para PHP

Download:  IP2Paises 


Contenido:
  • Contiene la base mysql necesaria con la lista de paises e ips decodificadas
en carpeta:  \xampp\mysql\data\ips
hay: pais.MYD ; pais.MYI ; db.opt ; pais.frm
La carpeta ips debe copiarse en la carpeta data de mysql
  • Contiene rutina en PHP (archivo cargar_log.php) para acceder a base de IPs en mysql.

Informacion sobre eL archivo cargar_log.php :

Es una rutina que genera archivos diarios con cada acceso al sitio, como muestra el siguiente ejemplo:

 11:50:39 @ 200.93.227.67 VENEZUELA- Origen:http://universaldata.blogspot.com/2012/04

<?php
require_once('funciones.php');
function cargar_log($nombre)
{
  extract($GLOBALS);
  $ip2=$_SERVER["REMOTE_ADDR"]; // si no hay proxy se toma la IP original
        $pais=''; 
        $p1=substr($ip2,0,strpos($ip2,"."));
        $rp1=substr($ip2,strpos($ip2,".")+1,100);
        $p2=substr($rp1,0,strpos($rp1,"."));
        $rp2=substr($rp1,strpos($rp1,".")+1,100);
        $p3=substr($rp2,0,strpos($rp2,"."));
        $p4=substr($rp2,strpos($rp2,".")+1,100);
        $ipt=$p1*256*256*256+$p2*256*256+$p3*256+$p4;
      $ipt2=$ipt-256;//$ipt2=$ipt-256*256;
      $sql="SELECT pais FROM `pais` WHERE inicio>".$ipt2." and inicio<".$ipt;
        if (leerrs($registros,$sql,"ips"))
            $pais=campo($registros,'pais');
        if ($pais=='') {
            $ipt2=$ipt-(256*256);
      $sql="SELECT pais FROM `pais` WHERE inicio>".$ipt2." and inicio<".$ipt;
            if (leerrs($registros,$sql,"ips")) $pais=campo($registros,'pais');
            };
  $sys=$_SERVER["HTTP_USER_AGENT"];
  $urlo='';
  $urlo=$_SERVER["HTTP_REFERER"];
  $url=$_SERVER["server_name"].$_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"];
  $idioma=$_SERVER["HTTP_ACCEPT_LANGUAGE"];

  $pi=(strpos($sys,"MSIE") ? strpos($sys,"MSIE")+1 : 0);
  if ($pi>0)  {
    $nav=trim(substr($sys,$pi-1,8));
    $naveg='ie.png';
  }    else  {
    $pf=(strpos($sys,"Firefox") ? strpos($sys,"Firefox")+1 : 0);
    if ($pf>0)    {
      $nav=trim(substr($sys,$pf-1,12));
      $naveg='ff.png';
    }      else    {
      $pc=(strpos($sys,"Chrome") ? strpos($sys,"Chrome")+1 : 0);
      if ($pc>0)      {
        $nav=trim(substr($sys,$pc-1,12));
        $naveg='gc.png';
      }        else      {
        $ps=(strpos($sys,"Safari") ? strpos($sys,"Safari")+1 : 0);
        if ($ps>0)        {
          $nav=trim(substr($sys,$ps-1,16));
          $naveg='sf.png';
        }          else        {
          $nav=trim(substr($sys,-1,16));
          $naveg='ot.jpg';
        }
      }
    }
  }
};
  $ref=fopen($DOCUMENT_ROOT.strftime("%Y",time())."-".strftime("%m",time())."-".strftime("%d",time())." ".$anexo.".htm","a");


$lista=''; if (strpos($url,"lista=si")>0){$lista='---Lista de: ';}
    fputs($ref,strftime(
        "%H",time()).":".strftime("%M",time()).":".strftime("%S",time()).
        " @ <a  target='_blank' href='http://ip2location.com/".$ip2."'>".$ip2."</a>".' '.$pais.$_COOKIE["visitas"].'-'.$_COOKIE["paginas"].
        " <img height=16 width=16 src='http://universaldata.sytes.net/imagenes/".$naveg."'>
        <a target='_blank' href='http://universaldata.sytes.net/".$url."'>".$lista.$nombre."</a>".
        " Origen:<a  target='_blank' href='".$urlo."'>".substr($urlo,0,60)."</a><br>".chr(13).chr(10));
    fclose($ref);
?>