Home  >  Article  >  Backend Development  >  How does Thinkphp distinguish the mobile terminal and PC terminal through an entry file?

How does Thinkphp distinguish the mobile terminal and PC terminal through an entry file?

不言
不言Original
2018-06-06 14:09:431564browse

This article mainly introduces the method of Thinkphp to distinguish the mobile terminal and the PC terminal through an entry file. Friends who need it can refer to it

No more nonsense, I will directly post the code for everyone, the specific code As shown below:

<?php
// 检测PHP环境
if(version_compare(PHP_VERSION,&#39;5.3.0&#39;,&#39;<&#39;)) die(&#39;require PHP > 5.3.0 !&#39;);
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define(&#39;APP_DEBUG&#39;,True);
define(&#39;MULTI_MODULE&#39;, false);
// 获取当前文件所在的目录
define(&#39;DKSITE_TSDIR&#39;, dirname(__FILE__));
// 定义应用目录
define(&#39;APP_PATH&#39;,DKSITE_TSDIR.&#39;/Application/&#39;);
//
function is_mobile(){ 
  $user_agent = $_SERVER[&#39;HTTP_USER_AGENT&#39;];
  $mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison","inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte"); 
  $is_mobile = false; 
  foreach ($mobile_agents as $device) {//这里把值遍历一遍,用于查找是否有上述字符串出现过 
    if (stristr($user_agent, $device)) { //stristr 查找访客端信息是否在上述数组中,不存在即为PC端。 
      $is_mobile = true; 
      break; 
    } 
  } 
  return $is_mobile; 
}
//判断
if(is_mobile()){
 echo &#39;您当前是在:手机端&#39;; 
  // 手机端模块
 define(&#39;BIND_MODULE&#39;,&#39;Mobile&#39;);
}else{ 
 echo &#39;您当前是在:pc端&#39;;
  // pc端前台模块
 define(&#39;BIND_MODULE&#39;,&#39;Home&#39;);      
} 
// 引入ThinkPHP入口文件
require dirname(__FILE__).&#39;/ThinkPHP/ThinkPHP.php&#39;;

Related recommendations:

thinkphp implementation of like fuzzy query example

Methods for mutual calls between ThinkPHP controllers

The above is the detailed content of How does Thinkphp distinguish the mobile terminal and PC terminal through an entry file?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn