일상 업무 개발에서는 일반적으로 서로 다른 액세스 터미널에 따라 서로 다른 작동 인터페이스를 입력하기 위해 PC와 모바일이라는 두 가지 서로 다른 시스템을 개발해야 합니다. 다음 글에서는 PHP 기능이 휴대폰에서 접속되는지 아니면 PC에서 접속되는지 확인하기 위해 PHP 사용에 대한 관련 정보를 주로 소개합니다. PHP에 대한 지식이 없거나 필요하지 않은 친구들은 참고할 수 있습니다. 그것에.
머리말
최근 프로젝트를 개발할 때 PC측과 모바일측을 각각 개발했는데, PC측에서 WWW 도메인 이름에 접근하기 위해 휴대폰을 사용할 때 구현해야 합니다. 자동으로 모바일 측으로 점프하여 컴퓨터를 이용하여 M에 접속합니다. 도메인 이름을 모바일 웹사이트로 사용할 경우 자동으로 PC 웹사이트로 점프하므로 다음과 같은 판단 기능이 있습니다.샘플 코드:
/**
* 移动端判断
*/
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;
}
PHP isset 함수 함수
isset 함수는 변수가 설정되었는지 여부를 감지합니다. 형식:bool isset ( mixed var [, mixed var [, ...]] )
반환값:
위 내용은 PHP를 사용하여 휴대폰에서 접속하는지 PC에서 접속하는지 확인하는 함수의 예 _php 스킬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!