wordpress如何用php判断用户通过电脑端还是手机端访问网站?
引言:此文由子域名转移而来,因为细微强迫症和放弃子域名而不舍得完全丢弃,所以将会逐步第二次转移文章到主域名上来,二者主题(阿里白秀和D8)均来自大前端,追求完美的同时有一丝小懒,主题就不换了,D8主题用起来挺好。
这个问题对于想做电脑、手机双端比如自适应网站的站长来说还是比较有用的,使用它不但单纯的可以完美解决如何用php判断用户通过电脑端还是手机端访问网站,还可以实现一些实际的网站问题,比如说通过判断用户通过电脑还是手机来引导用户的访问页面,或者引导用户去显示一些不同的信息等。
那么如何通过php来判断呢?通过以下方法即可解决。
1、将以下函数代码加入到function.php中。
- function isMobile(){
- $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ”;
- $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:”;
- function CheckSubstrs($substrs,$text){
- foreach($substrs as $substr)
- if(false!==strpos($text,$substr)){
- return true;
- }
- return false;
- }
- $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
- $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');
- $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||
- CheckSubstrs($mobile_token_list,$useragent);
- if ($found_mobile){
- return true;
- }else{
- return false;
- }
- }
2、在需要判断用户使用电脑端还是手机端的页面中调用isMobile()函数即可完美实现,其他还有更多的方法判断,欢迎分享。
- if (isMobile()){
- echo "手机登录";
- }else{
- echo "电脑登录";
- }