http://blog.sina.com.cn/xkdxiaocainiao[订阅]
字体大小: 正文
PHP 获得访客IP及来源 操作系统 浏览器类型(2008-03-30 16:47:26)
  这里讲一些PHP中的小技巧,很实用的。
 获得访客的IP:
          $ip=getenv('REMOTE_ADDR');  //输出访客的IP地址
          $url=getenv('HTTP_REFERER');//返回用户来到当前页前的上一页URL
获得浏览器的版本函数:

function getbrowser()
{
     global $_SERVER;

     $agent           = $_SERVER['HTTP_USER_AGENT'];
     $browser         = '';
     $browser_ver     = '';
   
     if (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs))
     {
         $browser         = 'OmniWeb';
         $browser_ver     = $regs[2];
     }
   
     if (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs))
     {
         $browser         = 'Netscape';
         $browser_ver     = $regs[2];
     }
   
     if (preg_match('/safari\/([^\s]+)/i', $agent, $regs))
     {
         $browser         = 'Safari';
         $browser_ver     = $regs[1];
     }
   
     if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs))
     {
         $browser         = 'Internet Explorer';
         $browser_ver     = $regs[1];
     }
   
     if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs))
     {
         $browser         = 'Opera';
         $browser_ver     = $regs[1];
     }
   
     if (preg_match('/NetCaptor\s([^\s|;]+)/i', $agent, $regs))
     {
         $browser         = '(Internet Explorer ' .$browser_ver. ') NetCaptor';
         $browser_ver     = $regs[1];
     }
   
     if (preg_match('/Maxthon/i', $agent, $regs))
     {
         $browser         = '(Internet Explorer ' .$browser_ver. ') Maxthon';
         $browser_ver     = '';
     }
   
     if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs))
     {
         $browser         = 'FireFox';
         $browser_ver     = $regs[1];
     }
   
     if (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs))
     {
         $browser         = 'Lynx';
         $browser_ver     = $regs[1];
     }
   
     if ($browser != '')
     {
        return $browser.' '.$browser_ver;
     }
     else
     {
         return 'Unknow browser';
     }
}

 

 

function os()
{
     $agent = $_SERVER['HTTP_USER_AGENT'];
     $os = false;

     if (eregi('win', $agent) && strpos($agent, '95'))
     {
         $os = 'Windows 95';
     }
     else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
     {
         $os = 'Windows ME';
     }
     else if (eregi('win', $agent) && ereg('98', $agent))
{
         $os = 'Windows 98';
     }
     else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
{
         $os = 'Windows XP';
     }
     else if (eregi('win', $agent) && eregi('nt 5', $agent))
{
         $os = 'Windows 2000';
     }
     else if (eregi('win', $agent) && eregi('nt', $agent))
{
         $os = 'Windows NT';
     }
     else if (eregi('win', $agent) && ereg('32', $agent))
{
         $os = 'Windows 32';
     }
     else if (eregi('linux', $agent))
{
         $os = 'Linux';
     }
     else if (eregi('unix', $agent))
{
         $os = 'Unix';
     }
     else if (eregi('sun', $agent) && eregi('os', $agent))
{
         $os = 'SunOS';
     }
     else if (eregi('ibm', $agent) && eregi('os', $agent))
{
         $os = 'IBM OS/2';
     }
     else if (eregi('Mac', $agent) && eregi('PC', $agent))
{
         $os = 'Macintosh';
     }
     else if (eregi('PowerPC', $agent))
{
         $os = 'PowerPC';
     }
     else if (eregi('AIX', $agent))
{
         $os = 'AIX';
     }
     else if (eregi('HPUX', $agent))
{
         $os = 'HPUX';
     }
     else if (eregi('NetBSD', $agent))
{
         $os = 'NetBSD';
     }
     else if (eregi('BSD', $agent))
{
         $os = 'BSD';
     }
     else if (ereg('OSF1', $agent))
{
         $os = 'OSF1';
     }
     else if (ereg('IRIX', $agent))
{
         $os = 'IRIX';
     }
     else if (eregi('FreeBSD', $agent))
{
         $os = 'FreeBSD';
     }
     else if (eregi('teleport', $agent))
{
         $os = 'teleport';
     }
     else if (eregi('flashget', $agent))
{
         $os = 'flashget';
     }
     else if (eregi('webzip', $agent))
     {
         $os = 'webzip';
     }
     else if (eregi('offline', $agent))
     {
         $os = 'offline';
     }
     else
     {
         $os = 'Unknown1';
     }
     return $os;
}

  • 评论加载中,请稍候...
发评论    明星私家相册

验证码:看不清楚数字吗?点击这里再试试。收听验证码

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

相关博文
读取中...
推荐博文
读取中...