首页 > 编程知识 正文

php兑现不同ip不同语言包(php兑现不同ip不同语言包的区别)

时间:2023-12-20 12:40:56 阅读:318195 作者:CQBD

本文目录一览:

根据不同ip段 网站如何 来显示不同的内容(php)

我仔细分析一下你的问题

1.首先要建一个IP对应学校的表realation

主要字段有id(自动增加),ip,school_name

然后你就将你知道的IP地址和学校输入到此表中!

如:1 58.240.89.1 中华大学

2.这样你在页面获得访问者的IP地址语句如下:

if(getenv('HTTP_CLIENT_IP')) {

$client_ip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$client_ip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR')) {

$client_ip = getenv('REMOTE_ADDR');

} else {

$client_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

不能单单只使用getenv('REMOTE_ADDR')获得IP,因为有客户会使用代理服务器...

3.查询数据库,获取表中记录语句如下:

$link = mysql_connect("localhost", "数据库用户名", "数据库密码");//连接数据库

mysql_select_db("你的数据库");//选择数据库

$sql="select * from relation";

$set=mysql_query($sql);

//$row=mysql_fetch_arry($set); 得出所有记录!

4.这个时候可以循环进行判断了

while ($row = mysql_fetch_array($set)) {

if($clinet_IP==$row['ip']){

echo "欢迎".row['school_name']."的同学来光临!"

}

}

php根据来访者不同IP显示不同内容

像你这样为每个ip访问者保存一份搜索记录,这样太耗费资源了。因为访问者的IP是会变的,而且访问者多的话,这样记录是会死人的,如果你要是想做的话,建个访问记录表就可以了,不用每个ip建个表,字段有:访问者ip,访问者输入的关键词。没见过你这样按访问者Ip来记录搜索数据的,一般搞个热搜关键词、跟地区有关的关键词就可以了。

php程序 js判断ip地区根据不同ip输出不同内容(商务通代码)

不建议使用js进行这个处理,你这样做的话完整过程为

1. 用户访问php页面

2. 服务端输出html

3. 浏览器运行js检查ip所属区域

4. ajax方式提交区域信息给服务器

5. 服务器返回查询结果

6. js将查询结果显示到当前页面

你想想这要多长时间。因此最好是php端直接判断区域,然后直接查询并输出就行了。

提供一个php写的函数,如果有用望采纳

function getCityByUserIp() {

    $ip = false;

    if (isset($_SERVER)){

        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

            $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];

        } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {

            $ip = $_SERVER["HTTP_CLIENT_IP"];

        } else {

            $ip = $_SERVER["REMOTE_ADDR"];

        }

    } else {

        if (getenv("HTTP_X_FORWARDED_FOR")){

            $ip = getenv("HTTP_X_FORWARDED_FOR");

        } else if (getenv("HTTP_CLIENT_IP")) {

            $ip = getenv("HTTP_CLIENT_IP");

        } else {

            $ip = getenv("REMOTE_ADDR");

        }

    }

    if (false === $ip) {

        return false;

    }

    $file = fopen(';ip=' . $ip, 'r');

    $content = fread($file, 1024);

    fclose($file);

    if (! preg_match("/^var remote_ip_info = (\{[^\}]+\});$/", $content, $_match)) {

        return false;

    }

    $ipInfo = json_decode($_match[1]);

    return $ipInfo;

}

返回的数组中包括 country, province, city等,如果返回false表示无法获得ip或该ip没有在大陆地区匹配的记录(港澳台似乎有province,但是没有city)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。