Dang Minh Hai

Wordpress Developer

  • title
  • title
  • title
  • title

Code PHP kiểm tra trang web đang được mở bằng điện thoại hay máy tính

Có những ứng dụng bạn chỉ muốn chạy trên trình duyệt của máy tính hoặc của điện thoại mà thôi, vậy cách làm như thế nào?

Sau đây là đoạn code giúp bạn kiểm tra xem người dùng đang mở web bằng trình duyệt của máy tính hay trình duyệt của điện thoại.

Tạo Function kiểm tra điện thoại hay máy tính

Tạo Function với nội dung như sau. Lưu với tên bất kỳ có đuôi mở rộng *.php

function svl_ismobile() {
    $is_mobile = '0';
    if(preg_match('/(android|iphone|ipad|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;
}

Kết quả

Để kiểm tra function ta viết thêm dòng này vào cuối file ta vừa tạo để hiển thị kết quả

if(svl_ismobile()){
    echo "Bạn đang dùng điện thoại";
}else{
    echo "Bạn đang dùng máy tính";
}

Tham khảo:

http://php.net/manual/en/function.get-browser.php

http://erikastokes.com/php/how-to-test-if-a-browser-is-mobile.php

Chúc các bạn thành công!

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận