Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
PHPzasal
2023-04-03 17:55:111672semak imbas

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;
} 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;
} else {

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

Kaedah 2: Gunakan fungsi get_browser PHP
echo 'Unknown OS';

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;
} lain {

echo 'Android ' . $os;
}

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';

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!

Kenyataan:
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