สำหรับคนที่ต้องการกำหนดเงื่อนไข ในการเข้าชมเว็บไซต์ ตัวอย่าง กรณีผู้ใช้งานเข้าชมเว็บไซต์ผ่านมือถือ สามารถใช้ฟังก์ชันนี้ ในการกำหนดตัวเลือกว่าต้องการเข้าเว็บเวอร์ชั่นปกติ หรือเวอร์ชั่นสำหรับมือถือ หรือใช้กำหนดให้ลิ้งค์เว็บไซต์เวอร์ชั่นมือถืออัตโนมัติ เป็นต้น
แนะนำ 2 ฟังก์ชัน isMobileCheck() และ isMobileCheck2() โดยการทำงานของฟังก์ชันแรก จะเร็วกว่าฟังก์ชันที่สอง แต่ไม่ต่างกันมาก สามารถสร้างไฟล์ทดสอบ แล้วอัพโหลดขึ้น server แล้วทดสอบการทำงานผ่านมือถือโดยตรง หรือผ่าน Opera Mini Simulator ตามลิ้งค์ข้างล่าง
http://www.opera.com/mobile/demo/
http://demo.opera-mini.net/
PHP ฟังก์ชัน ที่ 1
<?php function isMobileCheck(){ $isMobile = false; $op = strtolower($_SERVER['HTTP_X_OPERAMINI_PHONE']); $ua = strtolower($_SERVER['HTTP_USER_AGENT']); $ac = strtolower($_SERVER['HTTP_ACCEPT']); $ip = $_SERVER['REMOTE_ADDR']; $isMobile = strpos($ac, 'application/vnd.wap.xhtml+xml') !== false || $op != '' || strpos($ua, 'sony') !== false || strpos($ua, 'symbian') !== false || strpos($ua, 'nokia') !== false || strpos($ua, 'samsung') !== false || strpos($ua, 'mobile') !== false || strpos($ua, 'windows ce') !== false || strpos($ua, 'epoc') !== false || strpos($ua, 'opera mini') !== false || strpos($ua, 'nitro') !== false || strpos($ua, 'j2me') !== false || strpos($ua, 'midp-') !== false || strpos($ua, 'cldc-') !== false || strpos($ua, 'netfront') !== false || strpos($ua, 'mot') !== false || strpos($ua, 'up.browser') !== false || strpos($ua, 'up.link') !== false || strpos($ua, 'audiovox') !== false || strpos($ua, 'blackberry') !== false || strpos($ua, 'ericsson,') !== false || strpos($ua, 'panasonic') !== false || strpos($ua, 'philips') !== false || strpos($ua, 'sanyo') !== false || strpos($ua, 'sharp') !== false || strpos($ua, 'sie-') !== false || strpos($ua, 'portalmmm') !== false || strpos($ua, 'blazer') !== false || strpos($ua, 'avantgo') !== false || strpos($ua, 'danger') !== false || strpos($ua, 'palm') !== false || strpos($ua, 'series60') !== false || strpos($ua, 'palmsource') !== false || strpos($ua, 'pocketpc') !== false || strpos($ua, 'smartphone') !== false || strpos($ua, 'rover') !== false || strpos($ua, 'ipaq') !== false || strpos($ua, 'au-mic,') !== false || strpos($ua, 'alcatel') !== false || strpos($ua, 'ericy') !== false || strpos($ua, 'up.link') !== false || strpos($ua, 'vodafone/') !== false || strpos($ua, 'wap1.') !== false || strpos($ua, 'wap2.') !== false; return $isMobile; } ?>
การใช้งาน
<?php if(isMobileCheck()){ echo "Browse from mobile phone"; }else{ echo "Browse from Other"; } ?>
PHP ฟังก์ชัน ที่ 2
<?php function isMobileCheck2(){ $mobile_browser=false; if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) { $mobile_browser=true; } if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) { $mobile_browser=true; } $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4)); $mobile_agents = array( 'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac', 'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno', 'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-', 'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-', 'newt','noki','oper','palm','pana','pant','phil','play','port','prox', 'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar', 'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-', 'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp', 'wapr','webc','winw','winw','xda','xda-'); if(in_array($mobile_ua,$mobile_agents)){ $mobile_browser=true; } if(strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0){ $mobile_browser=true; } if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0){ $mobile_browser=true; } return $mobile_browser; } ?>
การใช้งาน
<?php if(isMobileCheck2()){ echo "Browse from mobile phone"; }else{ echo "Browse from Other"; } ?>