Mar 15 / Karol Krizka

How To Detect Internet Explorer Version With PHP

Awhile ago I needed to detect the Internet Explorer version of the visitor from inside of my PHP script. Being lazy I just tried to Google for some existing code, but to my surprise there was none available! Well, I think it’s time to rectify that problem by publishing the code I ended up creating. The ieversion() function looks at the HTTP_USER_AGENT header sent by the browser to determine if the visitor is using Internet Explorer. If not, then the script will return -1. If yes, then the script will extract the version number and return that.

function ieversion() {
  ereg('MSIE ([0-9]\.[0-9])',$_SERVER['HTTP_USER_AGENT'],$reg);
  if(!isset($reg[1])) {
    return -1;
  } else {
    return floatval($reg[1]);
  }
}

What are the uses for this? You can do what I do and display a message notifying the visitor that he is using an outdated browser and he should upgrade to Firefox by clicking the Google Referal ad below. That solves two problems: Helps to pay the bills and I don’t have to make sure my site renders properly on the ancient Internet Explorer 6 (I let IE7 users get by, it does a pretty good job). I will publish the simple code I use for this later on.

12 Comments

leave a comment
  1. Jeena / Mar 26 2008

    You wrote Exporer instead of Explorer in the title ;)

  2. Cyberto / Aug 28 2008

    Exactly what I needed! Thank you!!! :D

    Greetings from Switzerland

  3. thomas / May 21 2009

    thanks :) works fine :)

  4. Zurdito / May 25 2009

    Thanks a lot dude! :D

  5. Achmed / May 28 2009

    Thanks.

  6. Tamar / Sep 23 2009

    thanks, it helped me a lot!

  7. ryan / Feb 3 2010

    Saved me time thanks for sharing! I’m surprised there isn’t already a function for this.

  8. 2Nine / Feb 24 2010

    works like a charm. thank you!!! :)

  9. Wayne / Mar 12 2010

    Hi,

    I added something extra.

    function ieversion() {
    ereg(‘MSIE ([0-9]\.[0-9])’,$_SERVER['HTTP_USER_AGENT'],$reg);
    if(!isset($reg[1])) {
    return -1;
    } else {
    //return floatval($reg[1]);
    if(floatval($reg[1]) == ‘6′){ //checks for evil eye of ie6
    return floatval($reg[1]); //here you can add other custom code as well

    }else{
    return ‘Not ie6, maybe 7 or 8′;
    }
    }
    }

    and to call it:

    echo ieversion();

Trackbacks and Pingbacks

  1. enPHP » Blog Archive » Eliminar decoraciones PNG, si se usa Internet Explorer 6
  2. DevBlog » Blog Archive » Eliminar decoraciones PNG, si se usa Internet Explorer 6
  3. Detect older versions of IE with PHP | Adam Rehal
Leave a Comment