이 글은 모바일 단말기와 PC 단말기를 판단하는 PHP 함수를 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.
/*移动端判断*/ function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志,兼容性有待提高 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = array ('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile' ); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } // 协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; }
함수 호출 결과는 다음과 같습니다. 맞습니다, 모바일 버전입니다.
모바일 단말기와 PC 단말기의 차이에 따라 도메인 이름 액세스를 다르게 구성하는 경우도 있습니다. 이와 관련하여 현재 접속 중인 도메인 이름을 판단한 후, 단말 장치를 판단하고, 판단에 따라 해당 도메인 이름으로 점프할 수 있습니다. 다음과 같습니다:
// 判断当前访问地址 $url = $_SERVER['HTTP_HOST']; if($url == '移动端url') { //移动端访问地址 if(!isMobile()) { // 终端是PC,跳转到PC端url echo '<script>location.href="https://PC端url地址"</script>'; exit; } } else { //pc访问地址 if(isMobile()) { // 终端是移动端,跳转到移动端url echo '<script>location.href="https://移动端访问地址"</script>'; exit; } }
관련 권장 사항:
컴퓨터 브라우저에서 액세스하는지 모바일 브라우저에서 액세스하는지 확인하는 PHP 기능
위 내용은 모바일 단말과 PC 단말을 판별하는 PHP 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!