Bagaimanakah php menentukan sama ada ia dibuka pada telefon bimbit atau pc?

PHPz
Lepaskan: 2023-04-21 09:56:03
asal
3197 orang telah melayarinya

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;
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!