阅读更多

<?php
class Mobile_Detect{protected $accept;protected $userAgent;protected $isMobile = false;protected $isAndroid = null;protected $isAndroidtablet = null;protected $isIphone = null;protected $isIpad = null;protected $isBlackberry = null;protected $isBlackberrytablet = null;protected $isOpera = null;protected $isPalm = null;protected $isWindows = null;protected $isWindowsphone = null;protected $isGeneric = null;protected $devices = array("android" => "android.*mobile","androidtablet" => "android(?!.*mobile)","blackberry" => "blackberry","blackberrytablet" => "rim tablet os","iphone" => "(iphone|ipod)","ipad" => "(ipad)","palm" => "(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)","windows" => "windows ce; (iemobile|ppc|smartphone)","windowsphone" => "windows phone os","generic" => "(kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|treo|up.browser|up.link|vodafone|wap|opera mini)");public function __construct(){$this->userAgent = $_SERVER['HTTP_USER_AGENT'];$this->accept = $_SERVER['HTTP_ACCEPT'];if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {$this->isMobile = true;} elseif (strpos($this->accept, 'text/vnd.wap.wml') > 0 || strpos($this->accept, 'application/vnd.wap.xhtml+xml') > 0) {$this->isMobile = true;} else {foreach ($this->devices as $device => $regexp) {if ($this->isDevice($device)) {$this->isMobile = true;}}}}/** * Overloads isAndroid() | isAndroidtablet() | isIphone() | isIpad() | isBlackberry() | isBlackberrytablet() | isPalm() | isWindowsphone() | isWindows() | isGeneric() through isDevice() * * @param string $name * @param array $arguments * @return bool */public function __call($name, $arguments){$device = substr($name, 2);if ($name == "is" . ucfirst($device) && array_key_exists(strtolower($device), $this->devices)) {return $this->isDevice($device);} else {trigger_error("Method $name not defined", E_USER_WARNING);}}/** * Returns true if any type of mobile device detected, including special ones * @return bool */public function isMobile(){return $this->isMobile;}protected function isDevice($device){$var = "is" . ucfirst($device);$return = $this->$var === null ? (bool) preg_match("/" . $this->devices[strtolower($device)] . "/i", $this->userAgent) : $this->$var;if ($device != 'generic' && $return == true) {$this->isGeneric = false;}return $return;}}
 
Include and instantiate the class:include("Mobile_Detect.php");$detect = new Mobile_Detect();Check for a specific platform:if ($detect->isAndroid()) {    // code to run for the Google Android platform}Available methods are isAndroid(), isAndroidtablet(), isIphone(), isIpad(), isBlackberry(), isBlackberrytablet(), isPalm(), isWindowsphone(), isWindows(), isGeneric(). Alternatively, if you are only interested in checking to see if the user is using a mobile device, without caring for specific platform:if ($detect->isMobile()) {    // any mobile platform}

更多相关文章

  1. android使用PullToRefresh框架实现ListView下拉刷新上拉加载更多
  2. Android UI--自定义ListView(实现下拉刷新+加载更多)
  3. Skype 视频电话功能终于支持更多 Android 手机
  4. 现代 Android 开发: 利用 Jetpack Compose 及更多精彩功能!
  5. android TextView查看更多(图文混排)
  6. android中的一个属性动画,可以显示更多的一个案例

随机推荐

  1. android通过Instrumentation来模拟键盘点
  2. Android Studio Can't launch AVD on Mac
  3. Android中时间标签起点
  4. Android 5.0特性(SwipeRefreshLayout+Recy
  5. Android studio You should manually set
  6. popUPwindow
  7. [Android]Android 直接打开log的一种方法
  8. Android Studio:在xml布局中不能自动补全
  9. android 两个 activity 用 handler传递数
  10. 安卓课程二十 CheckBox复选框控件使用