Jump to content

detect user agent


conan318

Recommended Posts

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';
	}
?>

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.