2011年12月22日 星期四

客戶端的IP及瀏覽器

if (!empty($_SERVER['HTTP_CLIENT_IP']))
  $ip=$_SERVER['HTTP_CLIENT_IP'];
 else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
  $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
 else
    $ip=$_SERVER['REMOTE_ADDR'];


browser()

function browser(){
 $browsers = array("firefox", "msie", "opera", "chrome", "safari",
                            "mozilla", "seamonkey","konqueror", "netscape",
                            "gecko", "navigator", "mosaic", "lynx", "amaya",
                            "omniweb", "avant", "camino", "flock", "aol"); 
   $agent=strtolower($_SERVER["HTTP_USER_AGENT"]);
 
 //echo $browser;
 foreach($browsers as $browser){
  if (preg_match("#($browser)[/ ]?([0-9.]*)#", $agent, $match)){
                $browser_version=$match[1].$match[2];
                break ;
        } 
 }
 
 
 $mobileAgents = array( 
        "iphone", 
        "ipad", 
        "android", 
        "mini", 
        "mobi", 
        "portable", 
        "playstation", 
        "palm", 
        "hiptop", 
        "avantgo", 
        "plucker", 
        "xiino", 
        "blazer", 
        "eclair", 
        "froyo"); 
 $OSName=array('nt 5.1'=>"XP",'nt 5.0'=>'2000','nt 5.1'=>'XP','nt 5.2'=>"Windows Server 2003",'nt 6.0'=>'vista、2008','nt 6.1'=>'Win7,Server 2008 R2','nt 6.2'=>'Windows8');
 if(eregi('nt 5.1',$agent)){
  $browser_os=$OSName['nt 5.1'];
 }else if(eregi('nt 5.0',$agent)){
  $browser_os=$OSName['nt 5.0'];
 }else if(eregi('nt 5.1',$agent)){
  $browser_os=$OSName['nt 5.1'];
 }else if(eregi('nt 5.2',$agent)){
  $browser_os=$OSName['nt 5.2'];
 }else if(eregi('nt 6.0',$browser)){
  $browser_os=$OSName['nt 6.0'];
 }else if(eregi('nt 6.1',$agent)){
  $browser_os=$OSName['nt 6.1'];
 }else if(eregi('nt 6.2',$agent)){
  $browser_os=$OSName['nt 6.2'];
 }else{
  foreach($mobileAgents as $check) {
   if(stripos($agent, $check)) {
    $browser_os=$check;
    break;
   }
  } 
 }
 
 return $browser_version."[{$browser_os}]";
 
 
}

沒有留言: