Hướng dẫn how can i get mobile device in php? - làm cách nào tôi có thể tải thiết bị di động bằng php?

Tôi đã tự hỏi, cho đến bây giờ, tại sao ai đó đã không đăng một chút thay đổi câu trả lời được chấp nhận cho việc sử dụng implode() để có khả năng đọc tốt hơn của mã. Vì vậy, nó đi ở đây:

<?php
$uaFull = strtolower($_SERVER['HTTP_USER_AGENT']);
$uaStart = substr($uaFull, 0, 4);

$uaPhone = [
    '(android|bb\d+|meego).+mobile',
    'avantgo',
    'bada\/',
    'blackberry',
    'blazer',
    'compal',
    'elaine',
    'fennec',
    'hiptop',
    'iemobile',
    'ip(hone|od)',
    'iris',
    'kindle',
    'lge ',
    'maemo',
    'midp',
    'mmp',
    'mobile.+firefox',
    'netfront',
    'opera m(ob|in)i',
    'palm( os)?',
    'phone',
    'p(ixi|re)\/',
    'plucker',
    'pocket',
    'psp',
    'series(4|6)0',
    'symbian',
    'treo',
    'up\.(browser|link)',
    'vodafone',
    'wap',
    'windows ce',
    'xda',
    'xiino'
];

$uaMobile = [
    '1207', 
    '6310', 
    '6590', 
    '3gso', 
    '4thp', 
    '50[1-6]i', 
    '770s', 
    '802s', 
    'a wa', 
    'abac|ac(er|oo|s\-)', 
    'ai(ko|rn)', 
    'al(av|ca|co)', 
    'amoi', 
    'an(ex|ny|yw)', 
    'aptu', 
    'ar(ch|go)', 
    'as(te|us)', 
    'attw', 
    'au(di|\-m|r |s )', 
    'avan', 
    'be(ck|ll|nq)', 
    'bi(lb|rd)', 
    'bl(ac|az)', 
    'br(e|v)w', 
    'bumb', 
    'bw\-(n|u)', 
    'c55\/', 
    'capi', 
    'ccwa', 
    'cdm\-', 
    'cell', 
    'chtm', 
    'cldc', 
    'cmd\-', 
    'co(mp|nd)', 
    'craw', 
    'da(it|ll|ng)', 
    'dbte', 
    'dc\-s', 
    'devi', 
    'dica', 
    'dmob', 
    'do(c|p)o', 
    'ds(12|\-d)', 
    'el(49|ai)', 
    'em(l2|ul)', 
    'er(ic|k0)', 
    'esl8', 
    'ez([4-7]0|os|wa|ze)', 
    'fetc', 
    'fly(\-|_)', 
    'g1 u', 
    'g560', 
    'gene', 
    'gf\-5', 
    'g\-mo', 
    'go(\.w|od)', 
    'gr(ad|un)', 
    'haie', 
    'hcit', 
    'hd\-(m|p|t)', 
    'hei\-', 
    'hi(pt|ta)', 
    'hp( i|ip)', 
    'hs\-c', 
    'ht(c(\-| |_|a|g|p|s|t)|tp)', 
    'hu(aw|tc)', 
    'i\-(20|go|ma)', 
    'i230', 
    'iac( |\-|\/)', 
    'ibro', 
    'idea', 
    'ig01', 
    'ikom', 
    'im1k', 
    'inno', 
    'ipaq', 
    'iris', 
    'ja(t|v)a', 
    'jbro', 
    'jemu', 
    'jigs', 
    'kddi', 
    'keji', 
    'kgt( |\/)', 
    'klon', 
    'kpt ', 
    'kwc\-', 
    'kyo(c|k)', 
    'le(no|xi)', 
    'lg( g|\/(k|l|u)|50|54|\-[a-w])', 
    'libw', 
    'lynx', 
    'm1\-w', 
    'm3ga', 
    'm50\/', 
    'ma(te|ui|xo)', 
    'mc(01|21|ca)', 
    'm\-cr', 
    'me(rc|ri)', 
    'mi(o8|oa|ts)', 
    'mmef', 
    'mo(01|02|bi|de|do|t(\-| |o|v)|zz)', 
    'mt(50|p1|v )', 
    'mwbp', 
    'mywa', 
    'n10[0-2]', 
    'n20[2-3]', 
    'n30(0|2)', 
    'n50(0|2|5)', 
    'n7(0(0|1)|10)', 
    'ne((c|m)\-|on|tf|wf|wg|wt)', 
    'nok(6|i)', 
    'nzph', 
    'o2im', 
    'op(ti|wv)', 
    'oran', 
    'owg1', 
    'p800', 
    'pan(a|d|t)', 
    'pdxg', 
    'pg(13|\-([1-8]|c))', 
    'phil', 
    'pire', 
    'pl(ay|uc)', 
    'pn\-2', 
    'po(ck|rt|se)', 
    'prox', 
    'psio', 
    'pt\-g', 
    'qa\-a', 
    'qc(07|12|21|32|60|\-[2-7]|i\-)', 
    'qtek', 
    'r380', 
    'r600', 
    'raks', 
    'rim9', 
    'ro(ve|zo)', 
    's55\/', 
    'sa(ge|ma|mm|ms|ny|va)', 
    'sc(01|h\-|oo|p\-)', 
    'sdk\/', 
    'se(c(\-|0|1)|47|mc|nd|ri)', 
    'sgh\-', 
    'shar', 
    'sie(\-|m)', 
    'sk\-0', 
    'sl(45|id)', 
    'sm(al|ar|b3|it|t5)', 
    'so(ft|ny)', 
    'sp(01|h\-|v\-|v )', 
    'sy(01|mb)', 
    't2(18|50)', 
    't6(00|10|18)', 
    'ta(gt|lk)', 
    'tcl\-', 
    'tdg\-', 
    'tel(i|m)', 
    'tim\-', 
    't\-mo', 
    'to(pl|sh)', 
    'ts(70|m\-|m3|m5)', 
    'tx\-9', 
    'up(\.b|g1|si)', 
    'utst', 
    'v400', 
    'v750', 
    'veri', 
    'vi(rg|te)', 
    'vk(40|5[0-3]|\-v)', 
    'vm40', 
    'voda', 
    'vulc', 
    'vx(52|53|60|61|70|80|81|83|85|98)', 
    'w3c(\-| )', 
    'webc', 
    'whit', 
    'wi(g |nc|nw)', 
    'wmlb', 
    'wonu', 
    'x700', 
    'yas\-', 
    'your', 
    'zeto', 
    'zte\-'
];

$isPhone = preg_match('/' . implode($uaPhone, '|') . '/i', $uaFull);
$isMobile = preg_match('/' . implode($uaMobile, '|') . '/i', $uaStart);

if($isPhone || $isMobile) {
    // do something with that device
} else {
    // process normally
}

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Sử dụng http_user_agent: Chúng tôi sẽ kiểm tra loại trình duyệt mà khách truy cập đang sử dụng. Đối với điều đó, chúng tôi kiểm tra chuỗi tác nhân người dùng Trình duyệt gửi như một phần của yêu cầu HTTP. Thông tin này được lưu trữ trong một biến. Các biến luôn bắt đầu với ký hiệu đô la trong PHP. We are going to check what sort of browser the visitor is using. For that, we check the user agent string the browser sends as part of the HTTP request. This information is stored in a variable. Variables always start with a dollar-sign in PHP.

    Syntax:

    $_SERVER['HTTP_USER_AGENT']

    .

    Ở đây $ _Server là một biến PHP dành riêng đặc biệt có chứa tất cả thông tin máy chủ web. Nó được biết đến như một Superglobal. Các biến đặc biệt này đã được giới thiệu trong PHP 4.1.0. Tiếp theo, chúng ta cần đọc tin nhắn được trả về bởi http_user_agent để chuyển điều khiển cho bộ hướng dẫn tiếp theo. Đối với mục đích trình diễn, chúng tôi sẽ đặt một tuyên bố Echo trực tiếp để xác nhận một thiết bị di động được phát hiện. Chúng tôi sẽ đọc tin nhắn được trả về http_user_agent, với hàm preg_match (). Nó thực hiện một kết quả phù hợp biểu thức chính quy.$_SERVER is a special reserved PHP variable that contains all web server information. It is known as a superglobal. These special variables were introduced in PHP 4.1.0. Next we need to read the message returned by the HTTP_USER_AGENT to pass the control to the next set of instructions. For demonstration purpose we will put an echo”” statement to confirm a mobile device is detected. We will read the HTTP_USER_AGENT’s returned message with preg_match() function. It performs a regular expression match.

    Ví dụ: Thật dễ dàng để bị lạc trong đoạn Regex khổng lồ này nhưng nó giống như thế này để phát hiện mọi loại trình duyệt từ mọi hệ điều hành di động có sẵn trên thị trường (cũng có thể phát hiện các thiết bị Kindle). Ví dụ: (Android | Bb \ D+| Meego). Nếu đoạn trích này được chèn vào index.php của trang web và trang web được truy cập từ thiết bị di động, trình duyệt sẽ hiển thị thông báo khi phát hiện trình duyệt di động. It’s easy to get lost in this huge chunk of regex but it’s like this to detect every sort of browser from every mobile Operating system available in the market(can also detect Kindle devices). For example, (android|bb\d+|meego).+mobile|avantgo|bada will check if the user device’s operating system is Android or not. If this snippet is inserted into the index.php of the website and the site is accessed from a mobile device, the browser will show the message as Mobile Browser Detected.

    <?php

    function isMobileDevice() {

        return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo

    $_SERVER['HTTP_USER_AGENT']
    0

    $_SERVER['HTTP_USER_AGENT']
    1
    $_SERVER['HTTP_USER_AGENT']
    2
    $_SERVER['HTTP_USER_AGENT']
    3
    $_SERVER['HTTP_USER_AGENT']
    4
    $_SERVER['HTTP_USER_AGENT']
    5

    $_SERVER['HTTP_USER_AGENT']
    6

    $_SERVER['HTTP_USER_AGENT']
    7
    $_SERVER['HTTP_USER_AGENT']
    8

        

    Mobile Browser Not Detected
    0
    Mobile Browser Not Detected
    1
    Mobile Browser Not Detected
    2

    $_SERVER['HTTP_USER_AGENT']
    6

    Mobile Browser Not Detected
    4
    Mobile Browser Not Detected
    5

        

    Mobile Browser Not Detected
    0
    Mobile Browser Not Detected
    8
    Mobile Browser Not Detected
    2

    $_SERVER['HTTP_USER_AGENT']
    6

    implode()1

    Đầu ra: Chúng tôi đang truy cập nó từ một máy tính xách tay. We are accessing it from a laptop.

    Mobile Browser Not Detected

    Làm cách nào để tìm một thiết bị trong PHP?

    Cách dễ nhất để phát hiện thiết bị di động trong PHP là kiểm tra xem từ di động trên mạng có tồn tại trong tác nhân người dùng HTTP không. Sử dụng biến $ _Server với các chỉ số http_user_agent để có được tác nhân người dùng đang được sử dụng để truy cập trang web. Dựa trên tác nhân người dùng HTTP, bạn có thể phát hiện các thiết bị di động hoặc máy tính để bàn trong PHP.check if the “mobile” word exists in HTTP User Agent. Use the $_SERVER variable with HTTP_USER_AGENT indices to get the User-Agent being used to access the web page. Based on the HTTP User Agent, you can detect mobile or desktop devices in PHP.

    Làm thế nào tôi có thể nhận thông tin trình duyệt trong PHP?

    Hàm php get_browser () echo $ _server ['http_user_agent'];$ Browser = get_browser (); print_r ($ trình duyệt);$browser = get_browser(); print_r($browser);

    Làm thế nào có thể phát hiện thiết bị di động trong ASP Net?

    Phát hiện thiết bị di động ASP.NET..
    Bước 1: Yêu cầu từ tác nhân người dùng di động.Thay đổi tác nhân người dùng (trình duyệt Safari) ..
    Bước 2: Yêu cầu "Mặc định. ASPX" A "Mặc định. ASPX" Yêu cầu tự động chuyển hướng đến "default_mobile. ASPX" vì yêu cầu HTTP là từ tác nhân người dùng di động ..

    Làm thế nào để tôi biết nếu một trang web đang mở trong thiết bị di động hoặc máy tính để bàn?

    Chúng tôi có thể sử dụng các truy vấn phương tiện CSS để kiểm tra xem trang web có được mở bên trong trình duyệt web hay trình duyệt di động hay không.Thông tin này có thể được tìm nạp bằng cách sử dụng chiều rộng tối thiểu và chiều rộng tối đa của trang web.use the CSS media queries to check whether the website is opened inside a web browser or a mobile browser. This information can be fetched using the min-width and the max-width of the webpage.