您的位置:首页 > 技术中心 > PHP教程 >

php如何判断ip跳转

时间:2020-09-27 15:05

php判断ip跳转的方法:首先把“ip.zip”里的全部文件放在lib目录下;然后通过“if($iplimit->setup($userip)){...}”方式实现判断ip跳转即可。

推荐:《PHP视频教程》

php 来访国内外IP判断代码并实现页面跳转

最近做了公司网站的一个需求:按来访人的IP来判断他是进中文网站还是英文网站。

我大概构思了一下,有两个方案:

1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站;

如果是非中文系统,默认使用者非中国人,跳英文网站。

优点:判断反映速度快。

缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况。

代码

  1. <script type="text/javascript" language="javascript">
  2. var Browser_Agent=navigator.userAgent;
  3. //浏览器为ie的情况
  4. if(Browser_Agent.indexOf("MSIE")!=-1){
  5. var a=navigator.browserLanguage;
  6. if(a !="zh-cn"){
  7. location.href="英文网站";
  8. }
  9. }
  10. //浏览器非ie的情况
  11. else{
  12. var b=navigator.language;
  13. if(b!="zh-CN"){
  14. location.href="英文网站";
  15. }
  16. }
  17. </script>

2.使用IP库来进行来访IP的判断

优点:判断准确。

缺点:响应速度没Javascript快。

需要引用一个PHP的IP库 ip_php.zip

我在网站头部引用jquery进行判断

  1. <script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
  2. <script type="text/javascript" language="javascript">
  3. function initurl() {
  4. $.ajax({
  5. type:"GET",
  6. url:"checkip.php",
  7. dataType:"html",
  8. data:"&time="+new Date(),
  9. cache: false,
  10. async: false,
  11. beforeSend:function(XMLHttpRequest) {
  12. },
  13. success:function(msg) {
  14. //如果返回值为1表示访问者为中国地区的ip
  15. if(msg == 1){
  16. //alert('I am China ip');
  17. }
  18. else {
  19. //alert('I am not China ip');
  20. location.href="英文网站";
  21. }
  22. },
  23. complete:function(XMLHttpRequest,textStatus) {
  24. },
  25. error:function() {
  26. }
  27. });
  28. }
  29. </script>
  30. <body οnlοad="initurl()">
  31. ...
  32. </body>

checkip.php页面的代码:

  1. $userip=$_SERVER['REMOTE_ADDR'];
  2. //引用ip库的文件 把ip.zip里的全部文件放在lib目录下
  3. include_once('/lib/iplimit.class.php');
  4. $iplimit = new iplimit;
  5. if($iplimit->setup($userip))
  6. {
  7. echo 1;
  8. }
  9. else
  10. {
  11. echo 2;
  12. }

两种方法都可以完美实现判断来访IP,选择哪种就看你的具体需求了。

以上就是php如何判断ip跳转的详细内容,更多请关注www.gxlsystem.com其它相关文章!

本类排行

今日推荐

热门手游