Gần đây, khi đang thực hiện một dự án của khách hàng, chúng tôi đã gặp một tình huống cần hiển thị các thanh trượt khác nhau trên một trang web dành cho máy tính để bàn và thiết bị di động. Đôi khi bạn có thể muốn phân phát nội dung khác cho thiết bị di động. Trong bài viết này tôi hướng dẫn các bạn cách phát hiện thiết bị di động trong PHP Show
Có một số trường hợp chúng tôi ẩn các phần của trang web dành cho thiết bị di động. Đây là những phần được tạo cho máy tính để bàn và không dành cho thiết bị di động. Bạn có thể tạo các phần như vậy theo cách khác cho người dùng di động. Sau đó, sử dụng truy vấn phương tiện, bạn áp dụng quy tắc (hiển thị/ẩn) cho các thiết bị khác nhau. Các truy vấn phương tiện hoạt động ở phía máy khách. Nhược điểm của việc sử dụng truy vấn phương tiện là các phần của bạn được tải ngay cả khi bạn đang ẩn nó trên thiết bị. Nó chỉ thêm tải không cần thiết trên trang web. Cách tốt hơn để xử lý việc này là áp dụng các điều kiện ở phía máy chủ cho thiết bị di động Trong một tình huống khác, bạn đang lập kế hoạch xây dựng một trang web khác cho người dùng di động. Khi người dùng truy cập URL của bạn, bạn muốn chuyển hướng họ đến trang web dành cho thiết bị di động của mình. Đây là một vài ví dụ mà chúng tôi muốn phát hiện thiết bị di động ở phía máy chủ. Có thể có hàng trăm trường hợp khác nhau. Trong trường hợp của tôi, đó là một thanh trượt khác cho máy tính để bàn và thiết bị di động Như đã nói, chúng ta hãy xem cách phát hiện thiết bị di động trong PHP Bắt đầuĐể xử lý phát hiện di động, thư viện có tên Mobile-Detect có sẵn trên GitHub Thư viện này cung cấp một cách rất rõ ràng và dễ dàng để tìm hiểu xem người dùng có sử dụng thiết bị di động hay không. Bạn cũng có thể kiểm tra các thiết bị Máy tính bảng. Thư viện sử dụng chuỗi Tác nhân người dùng có sẵn trong tiêu đề HTTP để phát hiện môi trường thiết bị. Nếu bạn tò mò muốn biết về tiêu đề HTTP, chỉ cần in print_r($_SERVER); Để cài đặt thư viện này, tôi khuyên bạn nên sử dụng Composer. Mở terminal trong thư mục gốc dự án của bạn và chạy lệnh bên dưới composer require mobiledetect/mobiledetectlib Nếu bạn không muốn sử dụng Trình soạn thảo thì một cách khác là đưa tệp Phát hiện thiết bị di động trong PHPNếu bạn đã cài đặt thư viện bằng Trình soạn thảo thì hãy thêm câu lệnh bên dưới vào đầu tệp của bạn require_once "vendor/autoload.php"; Sau đó, tạo phiên bản của lớp composer require mobiledetect/mobiledetectlib0 và bạn có thể tìm hiểu xem khách truy cập của mình có sử dụng thiết bị di động hay không $detect = new Mobile_Detect; if ( $detect->isMobile() ) { echo "You are on the mobile device."; } else { echo "You are on desktop."; } Để kiểm tra thiết bị Máy tính bảng, hãy sử dụng câu lệnh if ( $detect->isTablet() ) { echo "You are on the Tablet."; } Đó là nó. Bạn xong việc rồi. Đây là cách dễ nhất để phát hiện thiết bị di động trong PHP. Hãy cho tôi biết suy nghĩ và đề xuất của bạn trong phần bình luận bên dưới Bạn có thể thấy nhiều trang web có phiên bản dành cho máy tính để bàn và cả phiên bản dành cho thiết bị di động được đơn giản hóa của cùng một trang web để giúp người dùng internet di động đơn giản hơn. Nhưng để làm điều đó, bạn phải phát hiện một thiết bị di động Phát hiện thiết bị di động từ phía máy chủ là cách tốt nhất vì nó sẽ không tải nội dung không cần thiết và thực sự giúp trang web nhanh hơn bằng cách chỉ tải nội dung bạn muốn hiển thị trên thiết bị di động Mặc dù bạn có thể sử dụng truy vấn phương tiện CSS nhưng nó sẽ không ngăn thiết bị di động tải nội dung mà bạn chỉ muốn cho máy tính hoặc máy tính để bàn Vì vậy, cách tốt nhất để phát hiện thiết bị di động từ phía máy chủ. Bạn có thể làm điều đó bằng cách sử dụng PHP. Trong hướng dẫn này, tôi sẽ chỉ cho bạn một đoạn mã PHP đơn giản sẽ dễ dàng phát hiện xem khách truy cập trên trang web của bạn có đang sử dụng thiết bị di động hay không Đoạn mã PHP để phát hiện thiết bị di độngBelo là mã PHP đơn giản có thể được sử dụng để phát hiện thiết bị di động function isMobileDevice() { return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]); } Làm cách nào để sử dụng đoạn mã PHP ở trên?Sau khi bạn đặt mã ở trên, bạn có thể sử dụng nó như mã bên dưới if(isMobileDevice()){ //Your content or code for mobile devices goes here } else { //Your content or code for desktop or computers devices } Dưới đây là mã hoàn chỉnh mà bạn có thể kiểm tra trên thiết bị di động và máy tính để bàn <?php function isMobileDevice() { return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]); } if(isMobileDevice()){ echo "It is a mobile device"; } else { echo "It is desktop or computer device"; } ?> Bây giờ hãy kiểm tra đoạn mã trên. Nếu bạn kiểm tra nó bằng thiết bị di động của mình thì bạn sẽ thấy dòng chữ “Đó là thiết bị di động”. Và khi bạn kiểm tra nó với PC hoặc máy tính để bàn của mình, bạn sẽ thấy dòng chữ “It is desktop or computer device” Vì vậy, làm thế nào mà được? Bây giờ nếu bạn có thể phát hiện thiết bị di động trong PHP, thì bạn cũng có thể phát hiện máy tính để bàn chỉ bằng cách sử dụng lại câu lệnh if other. Trong đoạn mã trên, những gì bạn có thể thấy trong phần khác dành cho thiết bị máy tính để bàn 8 phản hồi cho “Cách đơn giản để phát hiện thiết bị di động trong PHP”
|