足球游戏_中国足彩网¥体育资讯$

PHP中实现获取IP和地理位置类分享
来源:易贤网 阅读:779 次 日期:2015-02-11 14:24:48
温馨提示:易贤网小编为您整理了“PHP中实现获取IP和地理位置类分享”,方便广大网友查阅!

这篇文章主要介绍了PHP中实现获取IP和地理位置类分享,本文地理定位使用的是SINA的通用接口,需要的朋友可以参考下

发现之前有一个脚本没有写完,简单扩充了一下。

获取IP使用的是经典的逻辑,地理定位使用的是SINA的通用接口。

使用方法详见源码:

代码如下:

<?php

/*

* GET LOCATION BY SINA IP INTERFACE

*

* @SOULTEARY 2013.04.14

*/

classIP

{

private $args=array();

function__construct()

{

$this->args=self::init_args(func_get_args());

$ip=self::GetIP();

$ret=preg_match_all('/(\d+\.){3}\d+/i',$ip,$result);

if(!$ret){

returnfalse;

}else{

$result=$result[0];

}

if(isset($this->args['ONLYIP'])&&$this->args['ONLYIP']==true){

if(isset($this->args['FORMAT'])&&$this->args['FORMAT']=='JSON'){

$result=json_encode($result);

}else{

$result=implode(',',$result);

}

if(isset($this->args['ECHO'])&&$this->args['ECHO']==true){

echo$result;

returntrue;

}else{

return$result;

}

}else{

$apiURL='http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip='.$result[0];

if(isset($this->args['FORMAT'])&&$this->args['FORMAT']=='JSON'){

$apiURL.='&format=json';

$return=$this->ipCURL($apiURL);

}else{

$return=$this->ipCURL($apiURL);

$return=iconv("GBK//IGNORE","UTF-8",$return);

}

if(isset($this->args['ECHO'])&&$this->args['ECHO']==true){

echo$return;

returntrue;

}else{

return$return;

}

}

}

public functioninit_args($args)

{

$result=array();

for($i=0,$n=count($args);$i<$n;$i++){

$result=self::associative_push($args[$i],$result);

}

return$result;

}

public functionassociative_push($arr,$tmp)

{

if(is_array($tmp)){

foreach($tmpas$key=>$value){

$arr[$key]=$value;

}

return$arr;

}

returnfalse;

}

public functionGetIP()

{

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])&&

$_SERVER['HTTP_X_FORWARDED_FOR']&&strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'],'unknown')){

return$_SERVER['HTTP_X_FORWARDED_FOR'];

}elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&

strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')){

return$_SERVER['REMOTE_ADDR'];

}

}

private functionipCURL($url)

{

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_HEADER,0);

ob_start();

curl_exec($ch);

curl_close($ch);

$result=ob_get_contents();

ob_end_clean();

return$result;

}

}

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf8">

<title>demo</title>

<script type="text/javascript">

varip="<?php new IP(array('ONLYIP'=>true, 'ECHO'=>true));?>";

vardata=<?php newIP(array('FORMAT'=>'JSON','ECHO'=>true));?>;

varresult='';

for(oo indata){

result+=oo+':'+data[oo]+"\n";

}

alert(result+ip);

</script>

</head>

<body>

<h1>CODE:</h1>

<h2>GETIP</h2>

<p>'ONLYIP'=>true,'ECHO'=>true</p>

<p><?phpnewIP(array('ONLYIP'=>true,'ECHO'=>true));?></p>

<P>'ONLYIP'=>true,'FORMAT'=>'JSON','ECHO'=>true</P>

<p><?phpnewIP(array('ONLYIP'=>true,'FORMAT'=>'JSON','ECHO'=>true));?></p>

<h2>GET Location</h2>

<p>'ECHO'=>true</p>

<p><?phpnewIP(array('ECHO'=>true));?></p>

<p>'FORMAT'=>'JSON','ECHO'=>true</p>

<p><?php newIP(array('FORMAT'=>'JSON','ECHO'=>true));?></p>

</body>

</html>

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看网络编程
易贤网手机网站地址:PHP中实现获取IP和地理位置类分享
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65099533/13759567129 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标