2011-03-17 6 views
13

में आया है, मुझे यह जांचने की आवश्यकता है कि अनुरोध मोबाइल फोन डिवाइस या डेस्कटॉप कंप्यूटर से अनुरोध किया गया है, कृपया मदद करें। धन्यवादयह जांचने के लिए कि क्या अनुरोध मोबाइल या कंप्यूटर से php

उत्तर

7

MobileESP व्यापक लेकिन अच्छा & उपयोग करने के लिए आसान है।

+0

धन्यवाद बहुत सारे तीन वास्तव में पूर्ण मदद कर रहे हैं। –

11

मोबाइल उपयोगकर्ता एजेंटों के लिए $_SERVER['HTTP_USER_AGENT'] देखें।

आपको मोबाइल ब्राउज़र के लिए पहले से मौजूद मौजूदा स्क्रिप्ट के लिए http://detectmobilebrowser.com/ देखें (यह केवल उपयोगकर्ता एजेंटों का उपयोग करता है)।

+4

उपयोगी लिंक के लिए +1 – diEcho

15

मैं अपनी परियोजनाओं में मोबाइल ब्राउज़र की पहचान करने के लिए एक फ़ंक्शन का उपयोग कर रहा हूं, जो लगभग सभी प्रमुख मोबाइल ऑपरेटिंग सिस्टम और ब्राउज़र का पता लगा सकता है।

function ismobile() { 
    $is_mobile = '0'; 

    if(preg_match('/(android|up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) { 
     $is_mobile=1; 
    } 

    if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) { 
     $is_mobile=1; 
    } 

    $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4)); 
    $mobile_agents = array('w3c ','acs-','alav','alca','amoi','andr','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)) { 
     $is_mobile=1; 
    } 

    if (isset($_SERVER['ALL_HTTP'])) { 
     if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) { 
      $is_mobile=1; 
     } 
    } 

    if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) { 
     $is_mobile=0; 
    } 

    return $is_mobile; 
} 
1

http://mobiledetect.net/ एक और हल्के php वर्ग है, लेकिन आप यह ध्यान रखें कि जाँच उपयोगकर्ता-एजेंट एक अच्छा लेकिन सही नहीं तरीका है धुंध, मुद्दा है नियम लगातार बाहर दिनांकित हैं और अधूरा तो आपको लगातार पहचान कोड बदलने की जरूरत है। पता लगाने के लिए किसी अन्य तरीके के लिए https://modernizr.com/ भी देखें।

0

आजकल, आप "मोबाइल डिवाइस" पर क्या विचार करते हैं?

उपयोगकर्ता एजेंट पार्स दुर्लभ किनारे के मामलों को छोड़कर बहुत अच्छे परिणाम देंगे। समस्या यह है कि यदि आप स्थानीय रूप से डेटा संग्रहीत करते हैं या ऑनलाइन होने पर सेवा पर निर्भर करते हैं तो आपको लगातार अपडेट करना होगा यदि आप इसे "क्लाउड में" उपयोग करते हैं।

कार्यक्षमता पहचान पुस्तकालय का उपयोग करना बेहतर है, उदा। Modernizr, ब्राउज़र की क्षमताओं के बारे में अपनी सर्वर जानकारी को पहली बार विज़िट पर भेजें और उचित सामग्री की सेवा करें कि ब्राउज़र क्या कर सकता है या नहीं कर सकता है। या इससे भी बेहतर, जावास्क्रिप्ट को प्रतिनिधि दें।

0

यह PHP में ऐसा करने का सबसे आसान तरीका है।

if(stristr($_SERVER['HTTP_USER_AGENT'],'Mobile')){ 
    //Put code here when device is mobile 
}else{ 
    //Put code here when device is not a mobile 
} 
संबंधित मुद्दे