conan318 Posted August 21, 2011 Share Posted August 21, 2011 hi i am trying to dectect the user agent and depending on which agent the user is using embed the video a differnt way working fine on my wamp test sever but when i upload to my sever i get this error Warning: get_browser() [function.get-browser]: browscap ini directive not set in <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { echo 'Internet explorer';?> <object width="420" height="360" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"> <param name="src" value="test.avi" /> <param name="controller" value="true" /> <param name="autoplay" value="false" /> <!-- Code For Older Browsers --> <embed src="test.avi" width="420" height="360" autoplay="true" controller="true" pluginspage="http://www.apple.com/quicktime/download/"> </embed> </object> <?php } if(strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) { echo 'Mozilla Firefox';?> <object type="video/quicktime" data="your file name.avi" width="150" height="250"><param name="Filename" value="test.avi"><param name="AutoStart" value="0"><param name="ShowControls" value="True"><param name="ShowStatusBar" value="False"><param name="ShowDisplay" value="False"><param name="AutoRewind" value="True"> <param name="src" value="./Videos/Security/XPWUA.avi"> <embed src="test.avi" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/" filename="test.avi" autostart="0" showcontrols="True" showstatusbar="False" showdisplay="False" autorewind="True" height="600" width="800"></embed> </object> <?php } if(strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE){ echo 'Google Chrome';?> <object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" id="mediaplayer1" height="600" width="800"><param name="Filename" value="./Videos/Security/XPWUA.avi"><param name="AutoStart" value="0"><param name="ShowControls" value="True"><param name="ShowStatusBar" value="False"><param name="ShowDisplay" value="False"><param name="AutoRewind" value="True"> <param name="src" value="./Videos/Security/XPWUA.avi"> <embed src="test.avi" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/" filename="test.avi" autostart="0" showcontrols="True" showstatusbar="False" showdisplay="False" autorewind="True" height="600" width="800"></embed> </object> <?php }else{ echo 'Something else'; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/245330-detect-user-agent/ Share on other sites More sharing options...
dodgeitorelse Posted August 21, 2011 Share Posted August 21, 2011 I use this to check which browser and if its IE then it tells my users that site is best viewed with blah blah blah function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT']; $bname = 'Unknown'; $platform = 'Unknown'; $version= ""; //First get the platform? if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; } elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; } elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; } // Next get the name of the useragent yes seperately and for good reason if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; } elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; } elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; } elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; } elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; } elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; } // finally get the correct version number $known = array('Version', $ub, 'other'); $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1) { //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; } else { $version= $matches['version'][1]; } } else { $version= $matches['version'][0]; } // check if we have a number if ($version==null || $version=="") {$version="?";} return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); } // now try it $ua=getBrowser(); $yourbrowser= "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform']; //print_r($yourbrowser); if ($ua['name'] == "Mozilla Firefox") { echo "<br />"; print("Enjoy your stay .... <br />and tell your friends about this site!"); } if ($ua['name'] == "Google Chrome") { echo "<br />"; print("Enjoy your stay .... <br />and tell your friends about this site!"); } if ($ua['name'] == "Apple Safari") { print("Enjoy your stay .... <br />and tell your friends about this site!"); } if ($ua['name'] == "Opera") { print("Enjoy your stay .... <br />and tell your friends about this site!"); } if ($ua['name'] == "Internet Explorer") { print("This site is best viewed with ....<br />Firefox, Chrome, Opera or Safari<br /><font color='red'>$yourbrowser</font><br /><br />Please tell your friends about this site!"); } if ($ua['name'] == "Netscape") { print("This site is best viewed with Firefox or Chrome<br /><font color='red'>$yourbrowser</font><br /><br />Please tell your friends about this site!"); } I am sure this could be shortened up and tidied but it works for me. Quote Link to comment https://forums.phpfreaks.com/topic/245330-detect-user-agent/#findComment-1260042 Share on other sites More sharing options...
conan318 Posted August 21, 2011 Author Share Posted August 21, 2011 thanks Quote Link to comment https://forums.phpfreaks.com/topic/245330-detect-user-agent/#findComment-1260059 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.