Rumah > pembangunan bahagian belakang > masalah PHP > Cara menggunakan php untuk menentukan sama ada peranti itu Android atau iOS

Cara menggunakan php untuk menentukan sama ada peranti itu Android atau iOS

PHPz
Lepaskan: 2023-04-03 19:16:01
asal
1713 orang telah melayarinya

Dalam pembangunan web, adalah penting untuk menyesuaikan halaman web mengikut sistem pengendalian yang digunakan oleh pengguna. PHP boleh mengenal pasti sistem pengendalian skrip berjalan dan pelayar yang digunakan pengguna. Artikel ini akan memperkenalkan cara mengenal pasti sistem pengendalian yang digunakan oleh pengguna dalam PHP dan cara membezakan antara Android dan iOS.

Dua kaedah berikut diberikan:

Kaedah 1: Gunakan pembolehubah HTTP_USER_AGENT

HTTP_USER_AGENT ialah pengepala permintaan yang dihantar oleh penyemak imbas ke pelayan web, yang mengandungi pengguna rentetan watak ejen. Rentetan ini biasanya mengandungi nama penyemak imbas, versi penyemak imbas, nama sistem pengendalian dan versi sistem pengendalian. Dalam PHP, anda boleh menggunakan kod berikut untuk mendapatkan nilai pembolehubah ini:

$user_agent = $_SERVER['HTTP_USER_AGENT'];

Selepas mendapat nilai, kami biasanya mencari watak ejen pengguna Maklumat yang terkandung dalam rentetan. Untuk menentukan sistem pengendalian pengguna, berikut ialah beberapa rentetan ejen pengguna biasa:

Windows
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/ 58.0 .3029.96 Safari/537.36
macOS
Mozilla/5.0 (Macintosh; Intel Mac OS /5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, seperti Gecko.2.2 Chrome) Safari/537.36
iOS
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 seperti Mac OS dan versinya, berikut ialah contoh kod:

$user_agent = $_SERVER['HTTP_USER_AGENT'] ;

jika (preg_match('/iphone|ipod|ipad/i', $user_agent) ) {

} lain jika (preg_match('/android/i', $ user_agent)) {

// iOS
if(preg_match('/OS\s(\d+)_(\d+)/i', $user_agent, $matches)) {
    $os_version = $matches[1] . '.' . $matches[2];
}
echo 'iOS ' . $os_version;
Salin selepas log masuk
} else if (preg_match('/windows nt/i ', $user_agent)) {

// Android
if(preg_match('/Android\s(\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Android ' . $os_version;
Salin selepas log masuk
} else {

// Windows
if(preg_match('/Windows NT (\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Windows ' . $os_version;
Salin selepas log masuk
}

Kaedah 2: Gunakan fungsi get_browser PHP
echo 'Unknown OS';
Salin selepas log masuk
Salin selepas log masuk

get_browser Fungsi boleh mengembalikan maklumat tentang penyemak imbas dan sistem pengendalian yang digunakan oleh pengguna. Walau bagaimanapun, fungsi ini bergantung pada fail browscap.ini yang dipasang oleh PHP dan data yang sepadan dengan maklumat ejen pengguna yang ditentukan.

Berikut ialah contoh kod:

$browser_info = get_browser(null, true);

$os = $browser_info['platform'];

jika (preg_match ('/iphone|ipod|ipad/i', $_SERVER['HTTP_USER_AGENT'])) {


} lain jika (preg_match('/android/i', $_SERVER[' HTTP_USER_AGENT' ])) {

echo 'iOS ' . $os;
Salin selepas log masuk
} lain {

echo 'Android ' . $os;
Salin selepas log masuk
}

Perlu diambil perhatian bahawa fail browscap.ini PHP perlu dimuat turun secara berasingan, dan pautan muat turunnya Untuk https://browscap.org/stream?q=Full_PHP_BrowsCapINI
echo 'Unknown OS';
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Kedua-dua kaedah boleh menentukan sistem pengendalian pengguna pada PHP, anda hanya perlu memilih yang anda seperti itu sahaja. Tidak kira kaedah yang anda pilih, ia boleh memenuhi keperluan sistem pengendalian pengguna dalam pembangunan web.

Atas ialah kandungan terperinci Cara menggunakan php untuk menentukan sama ada peranti itu Android atau iOS. 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