Tento jednoduchý podmínkový script vám vypíše jaký operační systém používá váš návštěvník. Samozřejmě lze script rozšířit i o zápis do databáze a tím vypisovat statistiky.
Ale teď k samotnému scriptu, který vypadá přesně takhle:
<?php $agent = $_SERVER["HTTP_USER_AGENT"]; if(strpos($agent, "Win") !== false) { /* Windows */ if(strpos($agent, "Windows Vista") !== false OR strpos($agent, "Windows NT 6.0") !== false) { $os = "Windows Vista"; } elseif(strpos($agent, "Windows XP") !== false OR strpos($agent, "Windows NT 5.1") !== false) { $os = "Windows XP"; } elseif(strpos($agent, "Windows NT 5.2")) { $os = "Windows 2003"; } elseif(strpos($agent, "Windows NT 5.0") !== false OR strpos($agent, "Windows 2000")) { $os = "Windows 2000"; } elseif(strpos($agent, "Win 9x 4.90") !== false OR strpos($agent, "Windows ME") !== false) { $os = "Windows ME"; } elseif(strpos($agent, "Windows 98") !== false OR strpos($agent, "Win98") OR strpos($agent, "Windows 4.10") !== false) { $os = "Windows 98"; } elseif(strpos($agent, "Windows 95") !== false OR strpos($agent, "Win95") !== false) { $os = "Windows 95"; } elseif(strpos($agent, "Windows CE") !== false) { $os = "Windows CE"; } else { $os = "Windows"; } /* Mac */ } elseif(strpos($agent, "Mac") !== false) { if(strpos($agent, "Mac OS X") !== false) { $os = "Mac OS X"; } else { $os = "Macintosh"; } /* Linux */ } elseif(strpos($agent, "Linux") !== false) { if(strpos($agent, "Ubuntu") !== false) { $os = "Ubuntu Linux"; } elseif(strpos($agent, "Kubuntu") !== false) { $os = "Kubuntu Linux"; } elseif(strpos($agent, "Xubuntu") !== false) { $os = "Xubuntu Linux"; } elseif(strpos($agent, "Debian") !== false) { $os = "Debian Linux"; } elseif(strpos($agent, "Fedora") !== false) { $os = "Fedora Core Linux"; } elseif(strpos($agent, "Gentoo") !== false) { $os = "Gentoo Linxu"; } elseif(strpos($agent, "SuSE") !== false OR strpos($agent, "SUSE") !== false) { $os = "SuSE Linux"; } else { $os = "Linux"; } /* Symbian */ } elseif(strpos($agent, "Symbian") !== false OR strpos($agent, "S60") !== false) { $os = "Symbian"; } else { $os = ""; } ?>
S tím, že operační systém vypíšete echo $os; a nebo jak jsem výše psal, můžete použit i zapiš do MySQL ať už pro statistiky nebo jen pro zápis do návštěvní knihy. Ať vám script slouží jen v dobrém.
Štítky:
PHP,
tutoriál,
zobrazit všechny štítky
! Našli jste v článku gramatické či pravopisné chyby? Je to z důvodu autorovy nemoci zvané dysgrafie. Tudíž všem děkuji za pochopení a každý článek pokud možno nechávám projít korekturou. !
Není rovnou jednoduší tohle:
$co = $_SERVER[„HTTP_USER_AGENT“];
Vitek: Nechápu co tím chtěl básník říct.
Vitek: Je to jednoduší, ale neukáže ti to že uživatel má např. ?Windows Vista? ale ?Windows NT 6.0? a to běžnému užvateli nic neřekne
{30} Ne jen to, ale i spousta dalších informaci, které většině nic neřekne.
Tohle je hnus, existuje jednoduzsi a cistsi reseni.
Nofuj: Tak se pochlub, ale tak aby fungovalo na všech hostincich.
cvachta:
Nofuj: Možná že existuje, ale pokud je někdo začátečník, tak bych řekl, že tohle je pro něj pro pochopení nejjednodužší
no tak nevím,vypadá to šíleně, zkusím.
nataly: co je na tom sialene?
Mě to přijde perfektně jednoduché. Mám něco podobného na zjištění prohlížeče a jeho verze, akorát jsem nevěděl, jak poznat třeba Win Vista , Xp apod. (myslím to "Windows 6.0 atd.), tohle mi pomohlo. Díky :)
Také jsem se něčím podobným zabýval. Zjišťoval jsem jak operační systém, tak i prohlížeč. Moje řešení si můžete prohlédnout zde:
[adresa smazána]
Blizzy: Tvoje řešení je opravdu efektivní, ale bohužel jsem byl nucen tvoji reklamu smazat. To je to samé jako kdyby jsi v Tescu dal reklamu na Kaufland, že tam je něco levnějšího
Ahoj, měl bych takový menší dotaz - mohl bys trochu zaktualizovat ten skriptík? Protože na Ubuntu 8.04 to hlásí jenom Linux. Ne, že by to byl takový nepředstavitelný problém, ale když tam ta možnost je *18*
Hemi: Firefox 3 beta má User-agent:
Mozilla/5.0 (X11; U; Linux i686; cs-CZ; rv:1.9b5) Gecko/2008041514 Firefox/3.0b5A proto nelze z něho zjistit přesnou distribuci Linuxu. Až bude finální verze Firefoxu 3, tak to zase bude fungovat. Jinak kdyby jsi nainstaloval do Ubuntu verzi 2.x, tak ta ukazuje správně.
:) jednoduché, účelné… super…
Ale u Macu by to ještě mohlo ukazovat verzi.. třeba Mac OS X Tiger, Leopard…
panrk: Mac se mi nikdy nedostal pod ruku a ani jsem nikde nenašel seznam user-agent's maců, takže rád bych, ale neznám ty verze.
CrazyDog: Sorry, že reaguju skoro po 6letech, ale toto řešení je dobré. Krom toho tu reklamu co si smazal .. zapoměl jsi vymazat web ;)