How thinkphp determines whether the visitor is a mobile phone or PC, thinkphp visitor
The example in this article describes how thinkphp determines whether the visitor is a mobile phone or PC. Share it with everyone for your reference. The specific implementation method is as follows:
1. Question:
I am planning to make a small upgrade to my website recently, allowing users to display a template suitable for mobile display when scanning the QR code on their mobile phone [I use ThinkPHP3.0], and the code is based on other people's
2. Implementation method:
Here is a general idea. Two simple steps:
System version number, browser and its version number (the array in the posted code only has mobile terminal information, so later you only need to determine whether it is a certain value in the array).
According to the value in the array, determine whether the visitor is a mobile phone, pad, or other mobile terminal. If so, specify the project path and name it as your mobile terminal template, such as
Copy the code The code is as follows:
define('APP_NAME','mobi');
define('APP_PATH','./mobi/');
I will try my best to add comments to the code below:
Copy code The code is as follows:
//Determine whether it is a mobile phone
//The code may look like a lot, but in fact it’s just that the array appears to be too many and messy. Don’t be intimidated by the superficial appearance!
function is_mobile(){
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$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) {//Traverse the values here to find whether the above string appears
If (stristr($user_agent, $device)) { //stristr checks whether the guest information is in the above array. If it does not exist, it means the PC side.
$is_mobile = true;
break;
}
Return $is_mobile;
}
define('THINK_PATH','./CORE/');
if(is_mobile()){ //Jump to wap group
echo 'You visited the mobile terminal and have been redirected to the mobile terminal';
define('APP_NAME','mobi');
Define('APP_PATH','./mobi/');
}else{
echo 'You are accessing from PC';
define('APP_NAME','Home');
Define('APP_PATH','./Home/');
}
define('APP_DEBUG', false);
require THINK_PATH.'core.php';
I hope this article will be helpful to everyone’s ThinkPHP framework programming.
http://www.bkjia.com/PHPjc/917044.html
www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/917044.htmlTechArticleHow thinkphp determines whether the visitor is a mobile phone or PC, thinkphp visitor This article describes how thinkphp determines whether the visitor is a mobile phone or PC PC-side method. Share it with everyone for your reference. Specific actual...