当前位置:  编程技术>php
本页文章导读:
    ▪php 判断来访IP地址是国内还是国外的      要求:php 判断来访IP地址,区分出是国内用户,还是国外用户,然后跳转到不同的网站。 大概的方案: 方案1:Javascript判断来访者的浏览器语言 若为中文系统,则跳转中文站点。否则,对不.........
    ▪如何解决php中文字符乱码,中文字符入库乱码的问题      在将中文字符数据写入数据库时,会有乱码,即你用mysql查询时,全是一些???这样的字符。 出现这种情况的根源在于:未明确告诉mysql数据库将要插入的数据是gbk类型的。 解决方法: 在查询.........
    ▪php获取客户端浏览器与操作系统信息的方法      下面我们就一起来学习如何使用php获取客户端浏览器与操作系统信息,有兴趣的朋友可以参考下。 1、PHP超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 以下是一个通.........

[1]php 判断来访IP地址是国内还是国外的
    来源: 互联网  发布时间: 2013-12-24

要求:php 判断来访IP地址,区分出是国内用户,还是国外用户,然后跳转到不同的网站。

大概的方案:
方案1:Javascript判断来访者的浏览器语言
若为中文系统,则跳转中文站点。否则,对不起,直接进英文站吧。
优点:判断反映速度快。
缺点:不准确,容易误伤。
 

代码示例:
<script type="text/javascript" language="javascript">
  var Browser_Agent=navigator.userAgent;
    //浏览器为ie的情况
    if(Browser_Agent.indexOf("MSIE")!=-1){
        var a=navigator.browserLanguage;
        if(a !="zh-cn"){
            location.href="/blog_article/英文网站/index.html";
        }
    }
    //浏览器非ie的情况
    else{
        var b=navigator.language;
        if(b!="zh-CN"){
            location.href="/blog_article/英文网站/index.html";
        }
    }
</script>

方案2:使用IP库判断来访IP地址
优点:判断准确。
缺点:响应速度没Javascript快。
需要引用一个PHP的IP库:/Files/tianxin2001x/ip.zip

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

代码示例:

<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" language="javascript">
        function initurl() {
            $.ajax({
                type:"GET",
                url:"checkip.php",
                dataType:"html",
                data:"&time="+new Date(),
                cache: false,
                async: false,
                beforeSend:function(XMLHttpRequest) {

                },
                success:function(msg) {
                    //如果返回值为1表示访问者为中国地区的ip
                    if(msg == 1){
                       //alert('I am China ip');       
                    }
                    else {
                       //alert('I am not China ip');
                       location.href="/blog_article/英文网站/index.html";
                      
                    }
                },
                complete:function(XMLHttpRequest,textStatus) {

                },
                error:function() {

                }
            });
        }
  
</script>

<body  onload="initurl()">
   ...
</body>

checkip.php文件代码:
 

代码示例:

$userip=$_SERVER['REMOTE_ADDR'];
//引用ip库的文件 把ip.zip里的全部文件放在lib目录下
include_once('/lib/iplimit.class.php');
$iplimit = new iplimit;

if($iplimit->setup($userip))
{
    echo 1;
}
else
{
    echo 2;
}

以上两种方法都可以用来判断来访IP地址,择其一而用之吧。


    
[2]如何解决php中文字符乱码,中文字符入库乱码的问题
    来源: 互联网  发布时间: 2013-12-24

在将中文字符数据写入数据库时,会有乱码,即你用mysql查询时,全是一些???这样的字符。
出现这种情况的根源在于:未明确告诉mysql数据库将要插入的数据是gbk类型的。

解决方法:
在查询时定义字符类型:
mysql_query()("set names 'gbk'")

下面是一个完整的示例,供大家参考。
 

代码示例:
<?php
/*
 @中文字符入库乱码的解决方法
 @www.
*/
include_once("conn.php");
include_once("include.php");
mysql_query("set names 'gbk'")or die("设置字符库失败\n");
mysql_select_db($db)or die("连接数据库失败!\n");
$exec = "select * from $table";
//echo $exec;
$result = mysql_query($exec,$conn)or die("查询数据库失败\n");
echo "<table border=2>";
for($cout=0;$cout<mysql_numrows($result);$cout++)
{
$city = mysql_result($result,$cout,city);
$name = mysql_result($result,$cout,name);
$phone = mysql_result($result,$cout,phone);
echo "<tr>";
echo "city: $city";
echo "name: $name";
echo "phone: $phone";
echo "</tr>";
}
echo "</table>";
?>

    
[3]php获取客户端浏览器与操作系统信息的方法
    来源: 互联网  发布时间: 2013-12-24

下面我们就一起来学习如何使用php获取客户端浏览器与操作系统信息,有兴趣的朋友可以参考下。

1、PHP超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息
以下是一个通过$_SERVER['HTTP_USER_AGENT']获取到的字符串 :
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2

2、使用正则表达式匹配以上字符串,用户的浏览器、操作系统信息。

3、PHP根据匹配后的字符串(用户的浏览器 操作系统信息),分配需要的CSS、JS等,返回给用户

我的浏览器与操作系统信息:
Browser: Chrome 5.0
Platform: Windows 7

下面给出一个完整的例子。
 

代码示例:

<?php
//显示访问用户的浏览器信息
echo 'Browser: ' . determinebrowser($Agent) . '<BR>';
//显示访问用户的操作系统平台
echo 'Platform: ' . determineplatform($Agent). '<BR>';

//正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息
function determinebrowser ($Agent) {
$browseragent=""; //浏览器
$browserversion=""; //浏览器的版本
if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) {
$browserversion=$version[1];
$browseragent="Internet Explorer";
} else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) {
$browserversion=$version[1];
$browseragent="Opera";
} else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) {
$browserversion=$version[1];
$browseragent="Firefox";
}else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) {
$browserversion=$version[1];
$browseragent="Chrome";
}
else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) {
$browseragent="Safari";
$browserversion="";
}
else {
$browserversion="";
$browseragent="Unknown";
}
return $browseragent." ".$browserversion;
}

// 同理获取访问用户的浏览器的信息
//link:http://www.
function determineplatform ($Agent) {
$browserplatform=='';
if (eregi('win',$Agent) && strpos($Agent, '95')) {
$browserplatform="Windows 95";
}
elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
$browserplatform="Windows ME";
}
elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
$browserplatform="Windows 98";
}
elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
$browserplatform="Windows 2000";
}
elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
$browserplatform="Windows XP";
}
elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) {
$browserplatform="Windows Vista";
}
elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) {
$browserplatform="Windows 7";
}
elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
$browserplatform="Windows 32";
}
elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
$browserplatform="Windows NT";
}elseif (eregi('Mac OS',$Agent)) {
$browserplatform="Mac OS";
}
elseif (eregi('linux',$Agent)) {
$browserplatform="Linux";
}
elseif (eregi('unix',$Agent)) {
$browserplatform="Unix";
}
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
$browserplatform="SunOS";
}
elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
$browserplatform="IBM OS/2";
}
elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
$browserplatform="Macintosh";
}
elseif (eregi('PowerPC',$Agent)) {
$browserplatform="PowerPC";
}
elseif (eregi('AIX',$Agent)) {
$browserplatform="AIX";
}
elseif (eregi('HPUX',$Agent)) {
$browserplatform="HPUX";
}
elseif (eregi('NetBSD',$Agent)) {
$browserplatform="NetBSD";
}
elseif (eregi('BSD',$Agent)) {
$browserplatform="BSD";
}
elseif (ereg('OSF1',$Agent)) {
$browserplatform="OSF1";
}
elseif (ereg('IRIX',$Agent)) {
$browserplatform="IRIX";
}
elseif (eregi('FreeBSD',$Agent)) {
$browserplatform="FreeBSD";
}
if ($browserplatform=='') {$browserplatform = "Unknown"; }
return $browserplatform;
}
?>

您可能感兴趣的文章:
PHP判断浏览器类型的代码
php 获取访问者浏览器的代码
php判断浏览器类型,浏览器语言等信息的代码


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3