Simplest Way to Detect a Mobile Device in PHP

Simplest way to detect a mobile device in PHP

Here is a source:

  • Detect Mobile Browser
  • Download PHP script

Code:

<?php

$useragent=$_SERVER['HTTP_USER_AGENT'];

if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))

header('Location: http://detectmobilebrowser.com/mobile');

?>

PHP - Check if the page run on Mobile or Desktop browser

There is a very nice PHP library for detecting mobile clients here: http://mobiledetect.net

Using that it's quite easy to only display content for a mobile:

include 'Mobile_Detect.php';
$detect = new Mobile_Detect();

// Check for any mobile device.
if ($detect->isMobile()){
// mobile content
}
else {
// other content for desktops
}

Get source of device with php

You can use a php library for this purpose:

https://github.com/serbanghita/Mobile-Detect

It has a lot of functions to detect any device eg: isMobile(), isTablet(), isiPhone() etc.

Only for php:

<?php
// include library file
require_once 'Mobile_Detect.php';
$object = new Mobile_Detect;


//Now detect device
<?php
// Return true or false based on your device
$detect->isMobile();
$detect->isTablet();


<?php
// Suppose you want to check for mobile environment.
if ($detect->isMobile()) {
// Your code here.
}

Mobile devices detect

So... I did it like this... Create a detect.php file and include it to a document. If someone have ideas about it.. please...

<?php

$useragent = $_SERVER['HTTP_USER_AGENT']; //- Check user browser

/* Do not change anything under this line */
$iPod = stripos($useragent, "iPod");
$iPad = stripos($useragent, "iPad");
$iPhone = stripos($useragent, "iPhone");
$Android = stripos($useragent, "Android");
$iOS = stripos($useragent, "iOS");
$webOS = stripos($useragent, "webOS");
$Blackberry = stripos($useragent, "Blackberry");
$IEMobile = stripos($useragent, "IEMobile");
$OperaMini = stripos($useragent, "Opera mini");
$Flynx = stripos($useragent, "Flynx");
$Dolphin = stripos($useragent, "Dolphin");
$Meego = stripos($useragent, "Meego");
$Avantgo = stripos($useragent, "Avantgo");
$Bada = stripos($useragent, "Bada");
$Blazer = stripos($useragent, "Blazer");
$Compal = stripos($useragent, "Compal");
$Elaine = stripos($useragent, "Elaine");
$Fennec = stripos($useragent, "Fennec");
$Hiptop = stripos($useragent, "Hiptop");
$Iris = stripos($useragent, "Iris");
$Kindle = stripos($useragent, "Kindle");
$Lge = stripos($useragent, "Lge ");
$Maemo = stripos($useragent, "Maemo");
$Midp = stripos($useragent, "Midp");
$Mmp = stripos($useragent, "Mmp");
$Netfront = stripos($useragent, "Netfront");
$OperaMobi = stripos($useragent, "Opera Mobi");
$Palm = stripos($useragent, "Palm");
$PalmOS = stripos($useragent, "Palm OS");
$Phone = stripos($useragent, "Phone");
$Plucker = stripos($useragent, "Plucker");
$Pocket = stripos($useragent, "Pocket");
$Psp = stripos($useragent, "Psp");
$Symbian = stripos($useragent, "Symbian");
$Treo = stripos($useragent, "Treo");
$Vodafone = stripos($useragent, "Vodafone");
$Wap = stripos($useragent, "Wap");
$WindowsCe = stripos($useragent, "Windows Ce");
$Xda = stripos($useragent, "Xda");
$Xiino = stripos($useragent, "Xiino");
$Kyivstar = stripos($useragent, "Kyivstar");
$Bolt = stripos($useragent, "Bolt");
$Boost = stripos($useragent, "Boost");
$Cricket = stripos($useragent, "Cricket");
$Docomo = stripos($useragent, "Docomo");
$Fone = stripos($useragent, "Fone");
$Mini = stripos($useragent, "Mini");
$Mobi = stripos($useragent, "Mobi");
$Pie = stripos($useragent, "Pie");
$Tablet = stripos($useragent, "Tablet");
$Wos = stripos($useragent, "Wos");
$Kitkat = stripos($useragent, "Kitkat");
$Mobile = stripos($useragent, "Mobile");
$GoBrowser = stripos($useragent, "GoBrowser");
$CLDC = stripos($useragent, "CLDC");
$uZardWeb = stripos($useragent, "uZardWeb");
$Doris = stripos($useragent, "Doris");
$Skyfire = stripos($useragent, "Skyfire");
$Smart = stripos($useragent, "Smart");
$MobileSafari = stripos($useragent, "Mobile Safari");

//-- Create a variable
$DEVICE = ($iPod||$iPad||$iPhone||$Android||$iOS||$webOS||$Blackberry||$IEMobile||$OperaMini||$Dolphin||$Meego||$Avantgo||$Bada||$Blazer||$Compal||$Elaine||
$Fennec||$Hiptop||$Iris||$Kindle||$Lge||$Maemo||$Midp||$Mmp||$Netfront||$OperaMobi||$Palm||$PalmOS||$Phone||$Plucker||$Pocket||$Psp||$Symbian||$Treo||$Wos||
$Vodafone||$Wap||$WindowsCe||$Xda||$Xiino||$Kyivstar||$Flynx||$Bolt||$Boost||$Cricket||$Docomo||$Fone||$Mini||$Mobi||$Pie||$Tablet||$Kitkat||$Mobile||$Smart||
$GoBrowser||$uZardWeb||$Doris||$Skyfire||$CLDC||$MobileSafari);

?>

Now you can use it like:

  1. Include this file to all file that need to detect user device; you can include it once if you need
    For example: include_once ("path_to_file/detect.php");

  2. Use variable $DEVICE anywhere you need infinity times like:

    <?php if (!$DEVICE) {echo 'This is for all desktop devices text';} else {echo 'This is for all mobile text';}
    ?>

or

!!! Also you can use it like this (if you need to separate info to different devices)

<?php if ($DEVICE=$iPhone) {echo 'This is for iphone devices text';} else if ($DEVICE=$Blackberry) {echo 'This is for Blackberry text';}
?>

That's it. All ingenious is simple! Use it and be happy! */ ?>

How detect user mobile information such as brand and model?

https://github.com/serbanghita/Mobile-Detect/
Try this PHP library, it can give you something like user-agent but in array.

Detect mobile browser

Have my user agent code:

<?php

/* USER-AGENTS
================================================== */
function check_user_agent ( $type = NULL ) {
$user_agent = strtolower ( $_SERVER['HTTP_USER_AGENT'] );
if ( $type == 'bot' ) {
// matches popular bots
if ( preg_match ( "/googlebot|adsbot|yahooseeker|yahoobot|msnbot|watchmouse|pingdom\.com|feedfetcher-google/", $user_agent ) ) {
return true;
// watchmouse|pingdom\.com are "uptime services"
}
} else if ( $type == 'browser' ) {
// matches core browser types
if ( preg_match ( "/mozilla\/|opera\//", $user_agent ) ) {
return true;
}
} else if ( $type == 'mobile' ) {
// matches popular mobile devices that have small screens and/or touch inputs
// mobile devices have regional trends; some of these will have varying popularity in Europe, Asia, and America
// detailed demographics are unknown, and South America, the Pacific Islands, and Africa trends might not be represented, here
if ( preg_match ( "/phone|iphone|itouch|ipod|symbian|android|htc_|htc-|palmos|blackberry|opera mini|iemobile|windows ce|nokia|fennec|hiptop|kindle|mot |mot-|webos\/|samsung|sonyericsson|^sie-|nintendo/", $user_agent ) ) {
// these are the most common
return true;
} else if ( preg_match ( "/mobile|pda;|avantgo|eudoraweb|minimo|netfront|brew|teleca|lg;|lge |wap;| wap /", $user_agent ) ) {
// these are less common, and might not be worth checking
return true;
}
}
return false;
}

?>

How to use:

<?php
$ismobile = check_user_agent('mobile');
if($ismobile) {
return 'yes';
} else {
return 'no';
}
?>


Related Topics



Leave a reply



Submit