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:
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");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
Parse Xml With Namespace Using Simplexml
How to Convert an Array to Object in PHP
How to Check If a Url Exists Via PHP
How to Use Store and Use Session Variables Across Pages
Compare 2-Dimensional Data Sets Based on a Specified Second Level Value
Highlight Row When the Checkbox Is True
What Is the Advantage of Using Heredoc in PHP
How to Set Up File Permissions For Laravel
Escaping Quotation Marks in PHP
What Is the Size Limit of a Post Request
Is There a Code Obfuscator For PHP
When Should I Use Prepared Statements