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

首頁 > 開發 > PHP > 正文

php判斷手機訪問實現程序

2024-05-04 21:58:15
字體:
來源:轉載
供稿:網友

因為工作需我們寫一個電腦手機共用一個域名,當是手機用戶是就訪問手機頁面,如果是電腦用戶就訪問web頁面,下面我們找到判斷為手機用戶php代碼分享給大家.

網上找到的:手機訪問,原理是手機通過移動公司的代理服務器進行的訪問,那么我們就可以理解是一臺普通電腦使用了代理服務器,當手機通過代理服務器訪問的時候,http頭信息會毫無疑問的包含一個信息:via,這個信息提供了有價值的判斷信息.

例如河南移動取得的via信息是:

http/1.1 hazz-b-gw001-wap(infox-wisg, huawei technologies)

河南聯通的via信息是:zxwap gateway,zte technologies

PHP實例代碼如下:

  1. // check if wap by xhatfunction  
  2. check_wap() {  
  3.  return stristr($_SERVER['HTTP_VIA'],"wap") ? true : false; 

這樣做的結果是沒有人能偽造手機訪問,判斷絕對準確,自然,這樣對于網上流行的手機wap模擬器也做了屏蔽—-從根本上屏蔽,這樣肯定不行,在網上又看到這一樣一個.

php判斷手機瀏覽器的函數,代碼如下,加入了對ipad和android的判斷:

  1. // check if wap  
  2. function check_wap(){ 
  3.  if(stristr($_SERVER['HTTP_VIA'],"wap")){// 先檢查是否為wap代理,準確度高 
  4.   return true
  5.  }elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){// 檢查瀏覽器是否接受 WML. 
  6.   return true
  7.    }elseif(preg_match('/(blackberry|configuration/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])){//檢查USER_AGENT 
  8.   return true;     
  9.  }else
  10.   return false;  
  11.    } 

測試后還是有問題,不講你也知道,后來看到了wordpress的 function.php 文件這樣一段,代碼如下:

  1. //判斷是否屬手機 
  2. function is_mobile() { 
  3.  $user_agent = $_SERVER['HTTP_USER_AGENT']; 
  4.  $mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison","inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte"); 
  5.  $is_mobile = false; 
  6.  foreach ($mobile_agents as $device) { 
  7.   if (stristr($user_agent$device)) { 
  8.    $is_mobile = true; 
  9.    break
  10.   } 
  11.  } 
  12.  return $is_mobile

在你web 加入如下代碼:

  1. if( is_mobile() ){ 
  2.   include('手機訪問.php文件即可');exit

解決這類問題的方法有很多,如果你不想這樣操作可直接使用二級域名了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰察布市| 尚义县| 乌兰浩特市| 青冈县| 连平县| 大余县| 马边| 梅河口市| 西吉县| 张北县| 搜索| 司法| 蓝山县| 拉萨市| 张家界市| 纳雍县| 岑巩县| 晋宁县| 广丰县| 彰化市| 邹城市| 潢川县| 抚宁县| 响水县| 兴文县| 通州区| 哈密市| 白朗县| 东乡族自治县| 庆元县| 怀远县| 博客| 富源县| 蛟河市| 巴林右旗| 望奎县| 邳州市| 建阳市| 京山县| 丹棱县| 黑水县|