<?php // GET THE USER_AGENT $ua = (isset($_SERVER) && array_key_exists('HTTP_USER_AGENT', $_SERVER)) ? $_SERVER['HTTP_USER_AGENT'] : false; // TRUE IF MOBILE DEVICE $ismobile = (isset($_SERVER['AMF_ISMOBILE'])) ? $_SERVER['AMF_ISMOBILE'] : false; function browser() { global $ua, $ismobile; if(stristr($ua, 'windows') != '') $os = 'win'; if(stristr($ua, 'mac') != '') $os = 'mac'; if(stristr($ua, 'linux') != '') $os = 'linux'; if(stristr($ua, 'android') != '') $os = 'android'; if(stristr($ua, 'iphone') != '') $os = 'iphone'; if(stristr($ua, 'ipad') != '') $os = 'ipad'; $mobile = ($ismobile) ? ' mobile' : ''; switch($ua) { case stristr($ua, 'firefox') == true: $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'firefox ff-'.$ver[0].' ff-'.$os; break; case stristr($ua, 'opr') == true: $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'opera opera-'.$ver[0].' opera-'.$os; break; case stristr($ua, 'safari') != '' && stristr($ua, 'chrome') === false: $o = 'safari safari-'.$os; break; case stristr($ua, 'chrome') == true: $ver = explode('Chrome/',$ua); $ver = explode('.',$ver[1]); $o = 'chrome chrome-'.$ver[0].' chrome-'.$os; break; case stristr($ua, 'msie') == true: $ver = explode('MSIE ', $ua); $ver = explode('.', $ver[1]); $o = 'iexplore ie-'.$ver[0]; break; default: $o = 'browserunknown'; break; } $o = $o.' '.$os; return $o; }
You can just paste the code above into a snippet and put a tag for the snippet where you want to use the USER_AGENT.
You'll have to explain how you want to use the USER_AGENT information if you need more than that.
return browser();
Your browser() function is never called.
Add this line at the very end (after the closing } of the function):
return browser();
if(stripos($ua, 'windows') !== false) $os = 'win';
stripos($ua, 'firefox') !== false:
Sorry, I don't see how that could happen if you're visiting from different browsers.so strange for me is not work properly
BTW, the $os lines should really be like this (though that's not the problem):
if(stripos($ua, 'windows') !== false) $os = 'win';
if (strpos($ua, 'firefox') !== false) { $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'firefox ff-'.$ver[0].' ff-'.$os; } elseif (stripos($ua, 'opr') !== false) { $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'opera opera-'.$ver[0].' opera-'.$os; } elseif (stripos($ua, 'safari') !== false && stripos($ua, 'chrome') === false) { $o = 'safari safari-'.$os; } elseif (stripos($ua, 'chrome') !== false) { $ver = explode('Chrome/',$ua); $ver = explode('.',$ver[1]); $o = 'chrome chrome-'.$ver[0].' chrome-'.$os; } elseif (stripos($ua, 'msie') !== false) { $ver = explode('MSIE ', $ua); $ver = explode('.', $ver[1]); $o = 'iexplore ie-'.$ver[0]; } else { $o = 'browserunknown'; }
Sorry, I wasn't thinking. The problem is that the switch statement doesn't work that way. It just matches what's in the switch line to what's in the case line. You need to use if and elseif instead:
if (strpos($ua, 'firefox') !== false) { $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'firefox ff-'.$ver[0].' ff-'.$os; } elseif (stripos($ua, 'opr') !== false) { $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'opera opera-'.$ver[0].' opera-'.$os; } elseif (stripos($ua, 'safari') !== false && stripos($ua, 'chrome') === false) { $o = 'safari safari-'.$os; } elseif (stripos($ua, 'chrome') !== false) { $ver = explode('Chrome/',$ua); $ver = explode('.',$ver[1]); $o = 'chrome chrome-'.$ver[0].' chrome-'.$os; } elseif (stripos($ua, 'msie') !== false) { $ver = explode('MSIE ', $ua); $ver = explode('.', $ver[1]); $o = 'iexplore ie-'.$ver[0]; } else { $o = 'browserunknown'; }
<?php // GET THE USER_AGENT $ua = (isset($_SERVER) && array_key_exists('HTTP_USER_AGENT', $_SERVER)) ? $_SERVER['HTTP_USER_AGENT'] : false; // TRUE IF MOBILE DEVICE $ismobile = (isset($_SERVER['AMF_ISMOBILE'])) ? $_SERVER['AMF_ISMOBILE'] : false; if (stristr($ua, 'windows') != '') $os = 'win'; if (stristr($ua, 'mac') != '') $os = 'mac'; if (stristr($ua, 'linux') != '') $os = 'linux'; if (stristr($ua, 'android') != '') $os = 'android'; if (stristr($ua, 'iphone') != '') $os = 'iphone'; if (stristr($ua, 'ipad') != '') $os = 'ipad'; $mobile = ($ismobile) ? ' mobile' : ''; if (strpos($ua, 'firefox') !== false) { $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'firefox ff-'.$ver[0].' ff-'.$os; } elseif (stripos($ua, 'opr') !== false) { $ver = explode('/',$ua); $ver = explode('.',$ver[count($ver)-1]); $o = 'opera opera-'.$ver[0].' opera-'.$os; } elseif (stripos($ua, 'safari') !== false && stripos($ua, 'chrome') === false) { $o = 'safari safari-'.$os; } elseif (stripos($ua, 'chrome') !== false) { $ver = explode('Chrome/',$ua); $ver = explode('.',$ver[1]); $o = 'chrome chrome-'.$ver[0].' chrome-'.$os; } elseif (stripos($ua, 'msie') !== false) { $ver = explode('MSIE ', $ua); $ver = explode('.', $ver[1]); $o = 'iexplore ie-'.$ver[0]; } else { $o = 'browserunknown'; } return $o;