Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Acabei de criar um script que detecta o ip, país, cidade, estado, caixa postal, imagem da bandeira do páis, entre outros... aqui fica o código :)
Download:
http://www.kingless.net/download.php?filename=ip.php
Source code:
http://www.kingless.net/download.php?filename=ip.php;source
<?php /////////////////////////////////////////////////////| /////// Localização através do IP //////// | Base de dados em ////// by kingless /////// | [http://www.ip-adress.com/](http://www.ip-adress.com/) ///// <blastelf@gmail.com> ///// S//////////////////////// ///////////////////////////////////////////////////// G/ Caso ocorra algum // //// Este script detecta o país, cidade, estado //// U/ erro no script // /// caixa postal (só de alguns países), isp, /// B/ envie-me um email // // imagem da bandeira do país... /// <blastelf@gmail.com> // ///////////////////////////////////////////////////////////////////////////////class ip { var $timeout = 5; var $ip = ''; var $pais = ''; var $cidade = ''; var $estado = ''; var $isp = ''; var $img = ''; var $org = ''; var $caixa_postal = ''; var $latitude = ''; var $longitude = ''; var $vars = array( 'pais' => 'IP country', 'estado' => 'IP state', 'cidade' => 'IP city', 'caixa_postal' => 'IP postcode', 'latitude' => 'latitude', 'longitude' => 'longitude', 'isp' => 'isp', 'org' => 'organization' ); function ip() { $data = $this->getData(); if(empty( $data )) { return false; } $data = $this->parse_data( $data ); $this->setVars( $data ); return true; } function getData() { $fp = fsockopen( 'www.ip-adress.com', 80, $errno, $errstr, 5 ); if(!$fp) { return false; } $query = "iq={$_SERVER['REMOTE_ADDR']}&submit=lookup+any+ip"; $out = "POST / HTTP/1.0\r\n"; $out .= "Host: www.ip-adress.com\r\n"; $out .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n"; $out .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n"; $out .= "Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3\r\n"; $out .= "Accept-Encoding: gzip,deflate\r\n"; $out .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"; $out .= "Keep-Alive: 300\r\n"; $out .= "Connection: keep-alive\r\n"; $out .= "Referer: [http://www.ip-adress.com/](http://www.ip-adress.com/)\r\n"; $out .= "Content-Type: application/x-www-form-urlencoded\r\n"; $out .= "Content-Length: ". strlen( $query ) ."\r\n\r\n"; $out .= "$query\r\n"; fwrite($fp, $out); $data = ''; while (!feof($fp)) { $data .= fgets($fp, 13422); } fclose( $fp ); return $data; } function parse_data( $data ) { foreach( $this->vars as $set => $var ) { if($exp = explode( '<font face="verdana" size="2">'. $var .':</font></th>', $data )) { if(!empty( $exp[1] )) { $exp = explode( '<td bgcolor="#FFFFCC"><font face="verdana" size="2">', $exp[1] ); $res[$set] = explode( '</font></td>', $exp[1] ); } } if($set == "pais") { $exp = explode( '<font face="verdana" size="2">'. $var .':</font></th>', $data ); $exp = explode( '<td bgcolor="#FFFFCC">', $exp[1] ); $exp = explode( '<font face="verdana" size="2">', $exp[1] ); preg_match( '<img src="(.*?)">', $exp[1], $img ); $exp = explode( '<img src="'. $img[1] .'">', $exp[1] ); $res["img"] = "[http://www.ip-adress.com".](http://www.ip-adress.com) $img[1]; $res[$set] = explode( '</font>', $exp[1] ); } } return $res; } function setVars( $data ) { foreach( $this->vars as $var => $valor ) { if(!empty( $data[$var][0] )) { $this->$var = trim($data[$var][0]); } } $this->img = $data['img']; $this->ip = $_SERVER['REMOTE_ADDR']; }}?>
Exemplo:
<?phpinclude( 'ip.php' );$ip = new ip();$msg[] = "<b>Meu IP:</b> $ip->ip";$msg[] = "<b>País:</b> $ip->pais <img src=\"$ip->img\">";$msg[] = "<b>Estado/Provincia:</b> $ip->estado";$msg[] = "<b>Cidade:</b> $ip->cidade";$msg[] = "<b>Caixa Postal:</b> $ip->caixa_postal";$msg[] = "<b>Latitude:</b> $ip->latitude";$msg[] = "<b>Longitude:</b> $ip->longitude";$msg[] = "<b>ISP:</b> $ip->isp";$msg[] = "<b>Organização:</b> $ip->org";echo implode( "\r\n<br />", $msg );?> [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/thumbsup.gifCarregando comentários...