Dalam era Internet mudah alih hari ini, mengoptimumkan reka bentuk tapak web untuk menyesuaikan diri dengan penggunaan peranti terminal pengguna yang berbeza telah menjadi tugas yang perlu. Oleh itu, cara menentukan dalam PHP sama ada pengguna menggunakan telefon bimbit atau PC ketika mengakses laman web menjadi salah satu masalah yang perlu dihadapi oleh pembangun. Artikel ini akan memperkenalkan beberapa kod PHP biasa untuk membantu pembangun menentukan sama ada pelanggan yang membuka tapak web ialah telefon mudah alih atau PC.
1. Tentukan terminal akses melalui HTTP_USER_AGENT
HTTP_USER_AGENT ialah maklumat pengepala dalam protokol HTTP Pengepala permintaan mengandungi banyak maklumat pengenalan peranti, yang boleh digunakan untuk menentukan terminal akses jenis peranti. Dengan menganalisis HTTP_USER_AGENT dalam pengepala permintaan pengguna, penyemak imbas, sistem pengendalian, peranti mudah alih dan maklumat lain yang digunakan oleh pengguna boleh diperoleh, yang juga termasuk maklumat pengenalan peranti mudah alih atau peranti PC.
Pelaksanaan khusus adalah seperti berikut:
function is_mobile(){ if (isset($_SERVER['HTTP_USER_AGENT'])) { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array("Android", "iPhone", "iPod", "iPad", "Windows Phone", "BlackBerry", "SymbianOS"); foreach ($mobile_agents as $mobile_agent) { if (strpos($user_agent, $mobile_agent) !== false) { return true; } } } return false; }
Lelaran pada tatasusunan $mobile_agents dan anda boleh menentukan sama ada terminal akses ialah peranti mudah alih berdasarkan sama ada HTTP_USER_AGENT mengandungi pengecam peranti mudah alih . Jika benar dikembalikan, ini bermakna pengguna menggunakan peranti mudah alih, sebaliknya ia bermakna pengguna menggunakan peranti PC.
2. Tentukan terminal akses melalui kaedah asal yang disyaki $_SERVER
Selain maklumat pengepala HTTP_USER_AGENT, terdapat kaedah penghakiman lain, iaitu, berdasarkan nilai HTTP_ACCEPT dalam kaedah asal yang disyaki bagi jenis terminal Akses $_SERVER. Nilai HTTP_ACCEPT mewakili jenis halaman yang boleh diterima oleh penyemak imbas pengguna Biasanya penyemak imbas menerima data jenis teks/html secara lalai, manakala peranti mudah alih meminta jenis teks/html atau format data jenis wap.
Kod pelaksanaan khusus adalah seperti berikut:
function is_mobile(){ if (isset($_SERVER['HTTP_ACCEPT'])) { $accept = $_SERVER['HTTP_ACCEPT']; if (strpos($accept, 'vnd.wap.xhtml+xml') !== false || strpos($accept, 'text/vnd.wap.wml') !== false) { return true; } } return false; }
Jika benar dikembalikan, ini bermakna pengguna menggunakan peranti mudah alih untuk mengakses, jika tidak, ia bermakna pengguna menggunakan peranti PC untuk mengakses.
3 Akses laluan URL tertentu melalui peranti mudah alih
Secara lalai, apabila peranti mudah alih mengakses tapak web, ia akan secara automatik melompat ke versi mudah alih halaman web, manakala apabila peranti desktop mengakses ia, ia akan melompat Pergi ke versi desktop halaman. Pembangun boleh mengendalikan permintaan daripada peranti yang berbeza berdasarkan perbezaan dalam laluan URL.
Sebagai contoh, menambahkan rentetan "/m/" pada URL bermakna anda melawati halaman tapak web mudah alih Selepas menyesuaikan kandungan, ia masih boleh dipaparkan. Jika URL akses tidak mempunyai rentetan "/m/", ini bermakna anda sedang mengakses halaman PC.
Kod pelaksanaan khusus adalah seperti berikut:
function is_mobile(){ if(isset($_SERVER['HTTP_REFERER'])){ $referer = strtolower($_SERVER['HTTP_REFERER']); $mobile_url = strtolower($_SERVER['HTTP_HOST'].'/m/'); if(strpos($referer, $mobile_url) !== false){ return true; } } return false; }
Dengan menyemak nilai $_SERVER['HTTP_REFERER'], anda boleh mendapatkan pautan halaman dari mana pengguna memasuki halaman semasa , untuk menentukan halaman mana pengguna menggunakan peranti mudah alih atau peranti PC.
Ringkasan
Tiga kaedah di atas boleh digunakan untuk menentukan jenis peranti terminal pengguna Kaedah yang hendak dipilih bergantung terutamanya pada situasi sebenar aplikasi. Dalam aplikasi praktikal, kami boleh menggunakan kaedah ini pada senario yang berbeza untuk memberikan pengguna pengalaman yang lebih mesra. Jika pembangun ingin membangunkan aplikasi web yang sesuai untuk kedua-dua peranti mudah alih dan PC, maka menggunakan kaedah di atas, ia boleh dilaksanakan dengan mudah.
Atas ialah kandungan terperinci Bagaimanakah php menentukan sama ada ia dibuka pada telefon bimbit atau pc?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!