2013-05-31 27 views
6

Bir kullanıcının CodeIgniter ile hangi mobil cihazı kullandığını tespit edebildim, ancak mevcut mobil cihazın hangi işletim sistemini çalıştırdığını tespit edemedim.CodeIgniter mobil işletim sistemi tespiti

Herkesin Android'de çalışan bir Samsung mobil cihazını kullandığını ve bir başkasının da halen Samsung olan normal bir Java mobil işletim sistemi kullandığını varsayalım. Her kullanıcının hangi işletim sisteminde olduğunu görmek için nasıl kontrol edebilirim? Eğer bir değişken olduğu oturumun sınıfını kullanırsanız http://mobiledetect.net den

cevap

0

üzerinde 'kütüphanelerin

ana denetleyici içindeki

public function index() { 
    $this -> load -> library('Mobile_Detect'); 
    $detect = new Mobile_Detect(); 
    if ($detect->isMobile() || $detect->isTablet() || $detect->isAndroidOS()) { 
     header("Location: ".$this->config->item('base_url')."/mobile"); exit; 
    } 
} 

Bul belgelerine de Mobile_Detect.php koy sağa inşa edilmiştir. user_agent

4

Ödünç aldım/s Sınıfı phpexcel codeigniter entegrasyonundan yüklemek için bu yönteme tolerans göster.

İndir http://mobiledetect.net gelen kütüphane, ama 'kütüphaneler' in MobileDetect.php sonra create 'THIRD_PARTY' in Mobile_Detect.php koymak ve içinde aşağıdaki kodu yerleştirin:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
require_once APPPATH."third_party/Mobile_Detect.php"; 

class MobileDetect extends Mobile_Detect { 
    public function __construct() { 
    parent::__construct(); 
    } 
} 

Artık denetleyicileri içinde kullanabilirsiniz böyle:

$this->load->library('MobileDetect'); 
if ($this->mobiledetect->isMobile()) { 
    //do something cool; 
} 

ben, sadece ben yaptım şekilde paylaşmak istedik CodeIgniter'da içine mobiledetect entegre etmek başka (daha iyi) yolu vardır eminim, ben yardımcı umut.

birkaç not:

1) Eğer Mobile_Detect.php koyarsanız doğrudan 'kütüphaneleri' yine $detect = new Mobile_Detect(); olmadan kullanabilirsiniz içinde, saplama dosyasını MobileDetect.php kullanmak gerekmez yerine çağrı işlevleri beğendi: $this->mobile_detect->isMobile()

2) CodeIgniter yönergelerini izlediğiniz sürece, stub dosya sınıfının adı istediğiniz herhangi bir şey olabilir. Yani, örneğin sınıf adı olarak 'MD' kullanabilir ve sonra sınıfa doğrudan erişimi engellemek için Mobile_Detect.php açılışı <?php sonra if (! defined('BASEPATH')) exit('No direct script access allowed'); eklemenizi öneririz $this->md->isMobile()

3) ile başvuru. THIRD_PARTY dizine içine https://github.com/serbanghita/Mobile-Detect kopyala Mobile_Detect.php dan

1

İndir Kütüphane CodeIgniter'daki bir yardımcı sınıf oluşturma // görünümünde kullanıcı aracısı telefon veya tablet veya bilgisayar

if(!function_exists('is_MTC')): 
    function is_MTC() 
    { 
     require(APPPATH .'third_party/Mobile_Detect.php'); 
     $detect = new Mobile_Detect; 
     return ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer'); 
    } 
endif; 

dönecektir Bu fonksiyon Sen doğrudan is_MTC işlevi çağırmak ve kullanıcı arayüzü kontrol edebilirsiniz
// Bu kullanıcı aracısı

<?php echo is_MTC(); ?> 
yazdırır 0

Codeigniter yardımcı işlevi hakkında daha fazla bilgi için İşlev https://ellislab.com/codeigniter/user-guide/general/helpers.html

2

Yük lib.Bu fonksiyon algılamak için

$this->load->library('user_agent'); 

kullanımı mobil

CodeIgniter denetleyicisi İçinde browser or agent detection in codeigniter

desteği yerleşik olan

$mobile=$this->agent->is_mobile(); 
if($mobile){ 
    //your code 
} 
0

aşağıdaki örnek kodu kullanın: o mükemmel çalışıyor

$this->load->library('user_agent'); 
if ($this->agent->is_mobile()) { 
    // Is a mobile browser 
} else { 
    // Is a Desktop/Bot User Agent 
} 
İlgili konular