well, while I was working on my project, I run into a problem of detecting OS by using PHP. After a bit of googling, I found a solution from Geek Pedia so big thanks to the guy who posted the solution but when I tried it on my comp, I have to deal with another problem, since I have installed PHP 5.3 and the function eregi seems to be outdated. I have to come up with another solution myself. I just modified his code a little bit to work on my OS. So here it is, copy and paste it and test it:
function checkOS(){
$OSList = array
(
// Match user agent string with operating systems
'Windows 3.11' => '/Win16/i',
'Windows 95' => '/(Windows 95)|(Win95)|(Windows_95)/i',
'Windows 98' => '/(Windows 98)|(Win98)/i',
'Windows 2000' => '/(Windows NT 5.0)|(Windows 2000)/i',
'Windows XP' => '/(Windows NT 5.1)|(Windows XP)/i',
'Windows Server 2003' => '/(Windows NT 5.2)/i',
'Windows Vista' => '/(Windows NT 6.0)/i',
'Windows 7' => '/(Windows NT 7.0)/',
'Windows NT 4.0' => '/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i',
'Windows ME' => '/Windows ME/i',
'Open BSD' => '/OpenBSD/i',
'Sun OS' => '/SunOS/i',
'Linux' => '/(Linux)|(X11)/i',
'Mac OS' => '/(Mac_PowerPC)|(Macintosh)/i',
'QNX' => '/QNX/i',
'BeOS' => '/BeOS/i',
'OS/2' => '/OS/2/i',
'Search Bot'=>'/(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)/i'
);
// Loop through the array of user agents and matching operating systems
foreach($OSList as $CurrOS=>$Match)
{
// Find a match
if (preg_match($Match, $_SERVER['HTTP_USER_AGENT']))
{
// We found the correct match
break;
}
}
//echo "You are using ".$CurrOS;
return $CurrOS;
}
Hope this help
Showing posts with label eregi depricate. Show all posts
Showing posts with label eregi depricate. Show all posts
Detecting OS by Using PHP
Wednesday, March 9, 2011
at
8:08 PM
| Posted by
Skyinthesea
Posted In
depricate,
eregi,
eregi depricate,
operating system detecting,
OS,
OS detection PHP,
PHP detect OS,
preg_match detect OS
|
0
comments
|
Subscribe to:
Posts (Atom)