[{"data":1,"prerenderedAt":185},["ShallowReactive",2],{"blog:\u002Fblog\u002F2015\u002F08\u002F29\u002Fphp-is-from-mobile\u002F":3},{"id":4,"title":5,"body":6,"categories":170,"comments":172,"date":173,"description":174,"draft":175,"extension":176,"legacySlug":177,"meta":178,"navigation":172,"path":179,"seo":180,"stem":181,"tags":182,"updated":183,"__hash__":184},"blog\u002Fblog\u002F2015\u002F08\u002F29\u002Fphp-is-from-mobile.md","PHP判断是否为手机访问",{"type":7,"value":8,"toc":168},"minimark",[9,13,20,161,164],[10,11,12],"p",{},"​有时候我们需要判断访问是来自手机端还是PC端，PHP可以很方便的进行判断。",[10,14,15,19],{},[16,17,18],"code",{},"$_SERVER['HTTP_USER_AGENT']","中含有访问的头信息（header）,根据它我们可以做出判断 。",[21,22,27],"pre",{"className":23,"code":24,"language":25,"meta":26,"style":26},"language-php shiki shiki-themes github-light github-dark","\u003C?php\nfunction isMobile()\n{\n    $useragent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';\n    $useragent_commentsblock = preg_match('|\\(.*?\\)|', $useragent, $matches) > 0 ? $matches[0] : '';\n    function CheckSubstrs($substrs, $text)\n    {\n        foreach($substrs as $substr)\n            if (false !== strpos($text,$substr)) {\n                return true;\n            }\n        return false;\n    }\n    $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME\u002FMIDP','Smartphone','Go.Web','Palm','iPAQ');\n    $mobile_token_list=array('Profile\u002FMIDP','Configuration\u002FCLDC-','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');\n    $found_mobile = CheckSubstrs($mobile_os_list,$useragent_commentsblock) || CheckSubstrs($mobile_token_list,$useragent);\n    if ($found_mobile) {\n        return true;\n    } else {\n        return false;\n    }\n}\n","php","",[16,28,29,37,43,49,55,61,67,73,79,85,91,97,103,109,115,121,127,133,139,145,150,155],{"__ignoreMap":26},[30,31,34],"span",{"class":32,"line":33},"line",1,[30,35,36],{},"\u003C?php\n",[30,38,40],{"class":32,"line":39},2,[30,41,42],{},"function isMobile()\n",[30,44,46],{"class":32,"line":45},3,[30,47,48],{},"{\n",[30,50,52],{"class":32,"line":51},4,[30,53,54],{},"    $useragent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';\n",[30,56,58],{"class":32,"line":57},5,[30,59,60],{},"    $useragent_commentsblock = preg_match('|\\(.*?\\)|', $useragent, $matches) > 0 ? $matches[0] : '';\n",[30,62,64],{"class":32,"line":63},6,[30,65,66],{},"    function CheckSubstrs($substrs, $text)\n",[30,68,70],{"class":32,"line":69},7,[30,71,72],{},"    {\n",[30,74,76],{"class":32,"line":75},8,[30,77,78],{},"        foreach($substrs as $substr)\n",[30,80,82],{"class":32,"line":81},9,[30,83,84],{},"            if (false !== strpos($text,$substr)) {\n",[30,86,88],{"class":32,"line":87},10,[30,89,90],{},"                return true;\n",[30,92,94],{"class":32,"line":93},11,[30,95,96],{},"            }\n",[30,98,100],{"class":32,"line":99},12,[30,101,102],{},"        return false;\n",[30,104,106],{"class":32,"line":105},13,[30,107,108],{},"    }\n",[30,110,112],{"class":32,"line":111},14,[30,113,114],{},"    $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME\u002FMIDP','Smartphone','Go.Web','Palm','iPAQ');\n",[30,116,118],{"class":32,"line":117},15,[30,119,120],{},"    $mobile_token_list=array('Profile\u002FMIDP','Configuration\u002FCLDC-','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');\n",[30,122,124],{"class":32,"line":123},16,[30,125,126],{},"    $found_mobile = CheckSubstrs($mobile_os_list,$useragent_commentsblock) || CheckSubstrs($mobile_token_list,$useragent);\n",[30,128,130],{"class":32,"line":129},17,[30,131,132],{},"    if ($found_mobile) {\n",[30,134,136],{"class":32,"line":135},18,[30,137,138],{},"        return true;\n",[30,140,142],{"class":32,"line":141},19,[30,143,144],{},"    } else {\n",[30,146,148],{"class":32,"line":147},20,[30,149,102],{},[30,151,153],{"class":32,"line":152},21,[30,154,108],{},[30,156,158],{"class":32,"line":157},22,[30,159,160],{},"}\n",[10,162,163],{},"这个方法稍加改造也可以判断是否用某种浏览器打开。",[165,166,167],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":26,"searchDepth":39,"depth":39,"links":169},[],[171],"PHP",true,"2015-08-29 10:00:32","​有时候我们需要判断访问是来自手机端还是PC端，PHP可以很方便的进行判断。 $SERVER['HTTPUSERAGENT']中含有访问的头信息（header）,根据它我们可以做出判断 。 这个方法稍加改造也可以判断是否用某种浏览器打开。",false,"md","php-is-from-mobile",{},"\u002Fblog\u002F2015\u002F08\u002F29\u002Fphp-is-from-mobile",{"title":5,"description":174},"blog\u002F2015\u002F08\u002F29\u002Fphp-is-from-mobile",[171],null,"CScGiinDtqmKnCsLOIR2EP4olf9JiWsvNLh3ch4bOi4",1783807996125]