Rumah pembangunan bahagian belakang tutorial php php获取客户端浏览器以及操作系统信息的方法

php获取客户端浏览器以及操作系统信息的方法

Nov 22, 2016 am 11:45 AM
pelayar

在较为智能的程序中,php可以获取客户端浏览器及操作系统信息,然后根据浏览器及系统类型,加载不同的页面,以提供更加个性化的服务。 

下面我们就一起来学习如何使用php获取客户端浏览器与操作系统信息,有兴趣的朋友可以参考下。 

1、PHP超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 
以下是一个通过$_SERVER['HTTP_USER_AGENT']获取到的字符串 : 
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2 

2、使用正则表达式匹配以上字符串,用户的浏览器、操作系统信息。 

3、PHP根据匹配后的字符串(用户的浏览器 操作系统信息),分配需要的CSS、JS等,返回给用户 

我的浏览器与操作系统信息: 
Browser: Chrome 5.0 
Platform: Windows 7 

下面给出一个完整的例子。 
//显示访问用户的浏览器信息
echo 'Browser: ' . determinebrowser($Agent) . '
'; 
//显示访问用户的操作系统平台 
echo 'Platform: ' . determineplatform($Agent). '
'; 

//link:http://www.jbxue.com 
//正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息 
function determinebrowser ($Agent) { 
$browseragent=""; //浏览器 
$browserversion=""; //浏览器的版本 
if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent="Internet Explorer"; 
} else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent="Opera"; 
} else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent="Firefox"; 
}else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) { 
$browserversion=$version[1]; 
$browseragent="Chrome"; 

else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) { 
$browseragent="Safari"; 
$browserversion=""; 

else { 
$browserversion=""; 
$browseragent="Unknown"; 

return $browseragent." ".$browserversion; 


// 同理获取访问用户的浏览器的信息 
function determineplatform ($Agent) { 
$browserplatform==''; 
if (eregi('win',$Agent) && strpos($Agent, '95')) { 
$browserplatform="Windows 95"; 

elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) { 
$browserplatform="Windows ME"; 

elseif (eregi('win',$Agent) && ereg('98',$Agent)) { 
$browserplatform="Windows 98"; 

elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) { 
$browserplatform="Windows 2000"; 

elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) { 
$browserplatform="Windows XP"; 

elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) { 
$browserplatform="Windows Vista"; 

elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) { 
$browserplatform="Windows 7"; 

elseif (eregi('win',$Agent) && ereg('32',$Agent)) { 
$browserplatform="Windows 32"; 

elseif (eregi('win',$Agent) && eregi('nt',$Agent)) { 
$browserplatform="Windows NT"; 
}elseif (eregi('Mac OS',$Agent)) { 
$browserplatform="Mac OS"; 

elseif (eregi('linux',$Agent)) { 
$browserplatform="Linux"; 

elseif (eregi('unix',$Agent)) { 
$browserplatform="Unix"; 

elseif (eregi('sun',$Agent) && eregi('os',$Agent)) { 
$browserplatform="SunOS"; 

elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) { 
$browserplatform="IBM OS/2"; 

elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) { 
$browserplatform="Macintosh"; 

elseif (eregi('PowerPC',$Agent)) { 
$browserplatform="PowerPC"; 

elseif (eregi('AIX',$Agent)) { 
$browserplatform="AIX"; 

elseif (eregi('HPUX',$Agent)) { 
$browserplatform="HPUX"; 

elseif (eregi('NetBSD',$Agent)) { 
$browserplatform="NetBSD"; 

elseif (eregi('BSD',$Agent)) { 
$browserplatform="BSD"; 

elseif (ereg('OSF1',$Agent)) { 
$browserplatform="OSF1"; 

elseif (ereg('IRIX',$Agent)) { 
$browserplatform="IRIX"; 

elseif (eregi('FreeBSD',$Agent)) { 
$browserplatform="FreeBSD"; 

if ($browserplatform=='') {$browserplatform = "Unknown"; } 
return $browserplatform; 

?> 

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana cara memaparkan 'badan bulat jingnan mai' yang dipasang dengan betul di laman web? Bagaimana cara memaparkan 'badan bulat jingnan mai' yang dipasang dengan betul di laman web? Apr 05, 2025 pm 10:33 PM

Menggunakan fail font yang dipasang di laman web baru -baru ini, saya memuat turun fon percuma dari internet dan berjaya memasangnya ke dalam sistem saya. Sekarang ...

Bagaimana untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas melalui JavaScript atau CSS? Bagaimana untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas melalui JavaScript atau CSS? Apr 05, 2025 pm 10:39 PM

Cara menggunakan JavaScript atau CSS untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas. Dalam tetapan percetakan penyemak imbas, ada pilihan untuk mengawal sama ada paparan ...

Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Bagaimana menyelesaikan masalah ini? Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Bagaimana menyelesaikan masalah ini? Apr 05, 2025 pm 10:18 PM

Mengapa margin negatif tidak berkuatkuasa dalam beberapa kes? Semasa pengaturcaraan, margin negatif dalam CSS (negatif ...

Bagaimana cara menggunakan fail fon yang dipasang di laman web di laman web? Bagaimana cara menggunakan fail fon yang dipasang di laman web di laman web? Apr 05, 2025 pm 10:57 PM

Cara Menggunakan Fail Font yang Dipasang Secara Tempatan Di Laman Web Adakah anda menghadapi situasi ini dalam pembangunan laman web: anda telah memasang fon pada komputer anda ...

Teks di bawah susun atur flex ditinggalkan tetapi bekas dibuka? Bagaimana menyelesaikannya? Teks di bawah susun atur flex ditinggalkan tetapi bekas dibuka? Bagaimana menyelesaikannya? Apr 05, 2025 pm 11:00 PM

Masalah pembukaan kontena kerana peninggalan teks yang berlebihan di bawah susun atur flex dan penyelesaian digunakan ...

Mengapa elemen Div tertentu dalam penyemak imbas tepi tidak dipaparkan? Bagaimana menyelesaikan masalah ini? Mengapa elemen Div tertentu dalam penyemak imbas tepi tidak dipaparkan? Bagaimana menyelesaikan masalah ini? Apr 05, 2025 pm 08:21 PM

Bagaimana menyelesaikan masalah paparan yang disebabkan oleh helaian gaya ejen pengguna? Apabila menggunakan penyemak imbas Edge, elemen Div dalam projek tidak dapat dipaparkan. Setelah memeriksa, saya menyiarkan ...

Bagaimana untuk mencapai kesan menatal mendatar pilihan mendatar dengan berputar elemen dalam CSS? Bagaimana untuk mencapai kesan menatal mendatar pilihan mendatar dengan berputar elemen dalam CSS? Apr 05, 2025 pm 10:51 PM

Bagaimana untuk mencapai kesan menatal mendatar pilihan mendatar dalam CSS? Dalam reka bentuk web moden, bagaimana untuk mencapai kesan seperti tab mendatar dan menyokong tetikus ...

Kenapa dua elemen blok dalam talian menunjukkan misalignment? Bagaimana menyelesaikan masalah ini? Kenapa dua elemen blok dalam talian menunjukkan misalignment? Bagaimana menyelesaikan masalah ini? Apr 05, 2025 pm 08:09 PM

Membincangkan sebab-sebab misalignment dua elemen blok sebaris. Dalam pembangunan front-end, kita sering menghadapi masalah menaip elemen, terutamanya apabila menggunakan blok sebaris ...

See all articles