国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問(wèn)的函數(shù)示例

2024-05-05 00:01:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

最近在開(kāi)發(fā)項(xiàng)目的時(shí)候,分別開(kāi)發(fā)了PC端和手機(jī)端,需要實(shí)現(xiàn),用手機(jī)訪問(wèn)PC端WWW域名的時(shí)候,自動(dòng)判斷跳轉(zhuǎn)到移動(dòng)端,用電腦訪問(wèn)M域名手機(jī)網(wǎng)站的時(shí)候,自動(dòng)跳轉(zhuǎn)到PC端網(wǎng)站,于是有了下面這個(gè)判斷函數(shù):

示例代碼:

/** * 移動(dòng)端判斷 */function isMobile(){  // 如果有HTTP_X_WAP_PROFILE則一定是移動(dòng)設(shè)備 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; }  // 如果via信息含有wap則一定是移動(dòng)設(shè)備 if (isset ($_SERVER['HTTP_VIA'])) {  // 找不到為flase,否則為true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; }  // 腦殘法,判斷手機(jī)發(fā)送的客戶端標(biāo)志,兼容性有待提高 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中查找手機(jī)瀏覽器的關(guān)鍵字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {  return true; }  }  // 協(xié)議法,因?yàn)橛锌赡懿粶?zhǔn)確,放到最后判斷 if (isset ($_SERVER['HTTP_ACCEPT'])) {  // 如果只支持wml并且不支持html那一定是移動(dòng)設(shè)備 // 如果支持wml和html但是wml在html之前則是移動(dòng)設(shè)備 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 函數(shù)作用

isset函數(shù)是檢測(cè)變量是否設(shè)置。

格式:bool isset ( mixed var [, mixed var [, ...]] )

返回值:

  • 若變量不存在則返回 FALSE
  • 若變量存在且其值為NULL,也返回 FALSE
  • 若變量存在且值不為NULL,則返回 TURE
  • 同時(shí)檢查多個(gè)變量時(shí),每個(gè)單項(xiàng)都符合上一條要求時(shí)才返回 TRUE,否則結(jié)果為 FALSE
  • 如果已經(jīng)使用 unset() 釋放了一個(gè)變量之后,它將不再是 isset() 。若使用 isset() 測(cè)試一個(gè)被設(shè)置成 NULL 的變量,將返回 FALSE。同時(shí)要注意的是一個(gè) NULL 字節(jié)("/0")并不等同于 PHP 的 NULL 常數(shù)。

警告: isset() 只能用于變量,因?yàn)閭鬟f任何其它參數(shù)都將造成解析錯(cuò)誤。若想檢測(cè)常量是否已設(shè)置,可使用 defined() 函數(shù)。

<?php$a = array ('test' => 1, 'hello' => NULL);var_dump( isset ($a['test') ); // TRUEvar_dump( isset ($a['foo') ); // FALSEvar_dump( isset ($a['hello') ); // FALSE// 'hello' 等于 NULL,所以被認(rèn)為是未賦值的。// 如果想檢測(cè) NULL 鍵值,可以試試下邊的方法。var_dump( array_key_exists('hello', $a) ); // TRUE?>

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 诸暨市| 尚义县| 庆安县| 阿克陶县| 天柱县| 伊宁县| 慈溪市| 冷水江市| 苗栗县| 北宁市| 荣昌县| 平陆县| 思南县| 柘荣县| 康定县| 昌都县| 翼城县| 德清县| 四川省| 剑川县| 舟山市| 扬州市| 永兴县| 福安市| 建昌县| 新晃| 德昌县| 长乐市| 巨鹿县| 肇东市| 措美县| 乌兰浩特市| 武义县| 凌云县| 元江| 沭阳县| 昭苏县| 封丘县| 平潭县| 苏尼特右旗| 武强县|