php根据ip获取地区的程序代码

   先用php获取本机的ip,再用php的curl函数来获取用户的详细地区.下面来看一下代码;

 代码如下  

/*
 * 这个函数是获取客户端和IP

 */
function GetIP()
{
 if(!empty($_SERVER["HTTP_CLIENT_IP"]))
 {
  $cip = $_SERVER["HTTP_CLIENT_IP"];
 }
 else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
 {
  $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
 }
 else if(!empty($_SERVER["REMOTE_ADDR"]))
 {
  $cip = $_SERVER["REMOTE_ADDR"];
 }
 else
 {
  $cip = '';
 }
 preg_match("/[d.]{7,15}/", $cip, $cips);
 $cip = isset($cips[0]) ? $cips[0] : 'unknown';
 unset($cips);
 return $cip;

  方法一,利用QQWry.Dat IP库,我们只胖乎乎

  用简单的办法。

  使用示例

  示例一:

 代码如下  

$IpLocation = new IpLocation();
$client = $IpLocation->getlocation();
print_r($client);

  示例二:

 代码如下  

$IpLocation = new IpLocation('../qqwry/QQWry.Dat');
$client = $IpLocation->getlocation('115.148.101.72');
print_r($client);

  具体的IP库与Iplocation类文件这里不介绍了大家百度搜索吧。

  方法二,利用api接口

  示例一,

 代码如下  

  /**
  * 获取IP地区
  * Enter description here ...
  * @param unknown_type $ip
  */
 function GetArea($ip){

 $url = "http://ip168.com/ip/?ip=".$ip;
 $contents = file_get_contents($url);
// preg_match_all('/<h3[sS]*?(<a[sS]*?</h3>)/',$contents,$rs);
 preg_match_all('|<div>本站主数据:.*</div>|',$contents,$rsR);
 $rsR[0][0] = str_replace("<div>本站主数据:", "", $rsR[0][0]);
 $rsR[0][0] = str_replace("</div>", "", $rsR[0][0]);
 return $rsR[0][0];
 }

  示例二,

  下面这个函数是用php的curl函数从网路上获取详细地区

 代码如下  

function lazdf($ip){

$curl= curl_init();

curl_setopt($curl,CURLOPT_URL,"http://www.ip138.com/ips138.asp?ip=".$ip);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$ipdz=curl_exec($curl);
curl_close($curl);
preg_match("/<ul class="ul1"><li>(.*?)</li>/i",$ipdz,$jgarray);
preg_match("/本 www.111cn.net 站主数据:(.*)/i", $jgarray[1],$ipp);

return  "<div class="global_widht global_zj zj" style="background: none repeat scroll 0% 0% rgb(226, 255, 191); font-size: 12px; color: rgb(85, 85, 85); height: 30px; line-height: 30px; border-bottom: 1px solid rgb(204, 204, 204); text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;欢迎来自&nbsp;<b>".$ipp[1]."</b>&nbsp;的朋友!</div>";

}

echo lazdf(GetIP());//输出ip

时间: 2024-11-16 22:50:16

php根据ip获取地区的程序代码的相关文章

ASP 获取腾讯IP地址的接口程序代码

<script type=text/javascript教程 src=http://fw.qq.com/ipaddress></script> <script type=text/javascript> var hehe1=IPData[2] var hehe2=IPData[3] alert(hehe1); alert(hehe2); document.write(IPData.join(' ')); </script> 如何用ASP来存储,从上面读取出来

asp获取搜索蜘蛛程序代码

asp获取搜索蜘蛛程序代码 Function GetSearcher(ByVal strUrl)  On Error Resume Next  If Len(strUrl) < 5 Then   GetSearcher = "DirectInput"   Exit Function  End If  If strUrl = ''Or InStr(strUrl, ":") = 0 Then   GetSearcher = "DirectInput&qu

asp.net中WebBrowser获取post数据程序代码

程序代码  代码如下 复制代码 private void Form1_Load(object sender, EventArgs e) {     webBrowser1.Navigate("about:blank"); //必需,否则WebBrowser.ActiveXInstance值为null     SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;     wb.BeforeNavi

javascript 获取 flash 版本号程序代码

例1 获取各浏览器的版本号,如需获取具体版本号数字  代码如下 复制代码 function flashChecker() {     var hasFlash = 0; //是否安装了flash     var flashVersion = 0; //flash版本     var isIE =/*@cc_on!@*/0; //是否IE浏览器     if (isIE) {         var swf = new ActiveXObject('ShockwaveFlash.Shockwave

php伪造IP地址与来源程序代码

下面写个构造来路google.com代码  代码如下 复制代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://www.111cn.net/); curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8')); //构造IP curl_setopt($ch, CURLOPT_REFERER, "http://www

利用新浪api接口查询判断IP和地区信息js代码

大家平时经常能看到分类信息网站中能自动判断用户所在的地理位置,以前有一种很笨的方法就是把各地的数据段输入数据库或者一个文档中,通过查询判断用户的地理位置.当然这里的ip段是会实时更新的,而且也不一定全,可能会造成判断的错误. 这里给大家介绍一种更简单的办法就是用新浪的api判断. 直接上代码: <script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" type="text/ecm

js获取网页高度程序代码

先来普及一下知识 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document

Android获取通话时间程序代码

我们知道安卓系统中通话时长应该是归Callog管,所以建议去查查ContactProvider,或者是TelephonyProvider Service测试 可以的通话开始的时候启动Service 记录当前时间A, 然后stopSelf(); 另外在通话结束的时候再次启动一下Service,再次获得当前时间B, 然后把时间A和B进行比较处理 String time = Long.toString(比较后处理的时间) 然后调用  代码如下 复制代码 Toast.makeText(this, tim

php获取url参数程序代码总结

  parse_url函数 我们先来了解一下parse_url函数,官方解决 说明 mixed parse_url ( string $url [, int $component = -1 ] ) 本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分. 本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分.不完整的 URL 也被接受, parse_url() 会尝试尽量正确地将其解析. 要解析的 URL.无效字符将使用 _ 来替换. 实例 代码如下