v2.5.1
Giriş yap

Php işletim sistemi öğrenme

egemennk1
136 defa görüntülendi

Merhaba, PHP ile kullanıcının kullandığı işletim sistemini nasıl algılayabilirim ?

Cevap yaz
Cevaplar (4)
bilinmez1i
103 gün önce

Merhaba internette biraz gezinerek bir kod buldum işletim sistemi ve Tarayıcıyı bulma hakkında iki adet fonksiyon var bunları aşağıdan alıp fonksiyona değer girmeden işletim sistemi veya browser bilgilerine ulaşabilirsin.

İşletim sistemi için:

function OsAsk() {
    $tespit=$_SERVER['HTTP_USER_AGENT'];
    if(stristr($tespit,"Windows 95")) { $os="Windows 95"; }
    elseif(stristr($tespit,"Windows 98")) { $os="Windows 98"; }
    elseif(stristr($tespit,"Windows NT 5.0")) { $os="Windows 2000"; }
    elseif(stristr($tespit,"Windows NT 5.1")) { $os="Windows XP"; }
    elseif(stristr($tespit,"Windows NT 6.0")) { $os="Windows Vista"; }
    elseif(stristr($tespit,"Windows NT 6.1")) { $os="Windows 7"; }
    elseif(stristr($tespit,"Windows NT 6.2")) { $os="Windows 8"; }
    elseif(stristr($tespit,"Windows NT 10.0")) { $os="Windows 10"; }
    /*
    Buraya Windows 11 sürümü çıktığında windows 11'in NT sürümünü öğrenerek elseif kısmını ona göre ayarlaman gerek 
    aksi takdirde Bilinmiyor değeri alacaktır.
    Örnek:
    elseif(stristr($tespit,"Windows NT 11.0")) { $os="Windows 11"; }
    */
    elseif(stristr($tespit,"Mac")) { $os="Mac"; }
    elseif(stristr($tespit,"Linux")) { $os="Linux"; }
    else {$os="Bilinmiyor ?";}
    return $os;
}

Tarayıcı için:

function BrowserAsk() {
    $tespit2=$_SERVER['HTTP_USER_AGENT'];
    if(stristr($tespit2,"MSIE")) { $tarayici="Internet Explorer"; }
    elseif(stristr($tespit2,"Firefox")) { $tarayici="Mozilla Firefox"; }
    elseif(stristr($tespit2,"YaBrowser")) { $tarayici="Yandex Browser"; }
    elseif(stristr($tespit2,"Chrome")) { $tarayici="Google Chrome"; }
    elseif(stristr($tespit2,"Safari")) { $tarayici="Safari"; }
    elseif(stristr($tespit2,"Opera")) { $tarayici="Opera"; }
    else {$tarayici="Bilinmiyor ?";}
    return $tarayici;
}

İyi Günler. iyi çalışmalar dilerim :)

fazilmertvural
98 gün önce

Merhaba satırlarca kod yazmanıza gerek yok çünkü bunun zaten bir PHP fonksiyonu var

<?php echo php_uname(); ?>

yazdırarak deneyebilirsiniz, iyi günler.

gokcin
103 gün önce
$useragent = $_SERVER['HTTP_USER_AGENT'] . "<br/>";
function get_os_name($useragent){

	global $useragent;
	$ostypes = array(
		'Win311' => 'Win16',
		'Win95' => '(Windows 95)|(Win95)|(Windows_95)',
		'WinME' => '(Windows 98)|(Win 9x 4.90)|(Windows ME)',
		'Windows 98' => '(Windows 98)|(Win98)',
		'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
		'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
		'WinServer2003' => '(Windows NT 5.2)',
		'WinVista' => '(Windows NT 6.0)',
		'Windows 7' => '(Windows NT 6.1)',
		'Windows 8' => '(Windows NT 6.2)',
		'WinNT' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
		'OpenBSD' => 'OpenBSD',
		'SunOS' => 'SunOS',
		'Ubuntu' => 'Ubuntu',
		'Android' => 'Android',
		'Linux' => '(Linux)|(X11)',
		'iPhone' => 'iPhone',
		'iPad' => 'iPad',
		'MacOS' => '(Mac_PowerPC)|(Macintosh)',
		'QNX' => 'QNX',
		'BeOS' => 'BeOS',
		'OS2' => 'OS/2',
		'SearchBot' => '(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)'
	);

	$useragent = strtolower($useragent ? $useragent : $_SERVER['HTTP_USER_AGENT']);
	foreach ($ostypes as $os => $pattern){
		if (preg_match('/' . $pattern . '/i', $useragent))
			return $os;
		
	}
	return 'Unknown';
}

$your_os = get_os_name($useragent);
echo "<p align='center'><font style='color:green;'><b>Senin Kullandığın İşletim Sistemi :  <font style='color:red;'>".strtoupper($your_os)."</font></b></font></p>";

smack
103 gün önce

$_SERVER['HTTP_USER_AGENT']

işinizi görmüyor mu?