Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Deux fonctions PHP pour obtenir le nom de l'OS
- en réaction à l'article "Fonction de détection d'OS en PHP"
- http://www.agencevolt.fr/blog/fonction-de-detection-dos-en-php/
- du blog de l'Agence Volt
- Par Olivier Pirson --- http://www.opimedia.be/
- */
- /**
- * Renvoie le nom de l'OS
- *
- * @return: string|null
- */
- function get_os() {
- $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
- foreach (array('win' => 'Windows',
- 'linux' => 'Linux',
- 'mac' => 'Macintosh',
- 'freebsd' => 'FreeBSD',
- 'sunos' => 'SunOS',
- 'beos' => 'BeOS',
- 'os/2' => 'OS/2',
- 'aix' => 'AIX',
- 'qnx' => 'QNX',
- 'iphone' => 'iPhone',
- 'ipad' => 'iPad',
- 'openbsd' => 'OpenBSD',
- 'netbsd' => 'NetBSD',
- 'android' => 'Android',
- 'playbook' => 'PlayBook',
- 'blackberry' => 'BlackBerry') as $key => $os) {
- if ( strpos($agent, $key) !== false ) {
- return $os;
- }
- }
- return null;
- }
- /**
- * Renvoie le nom de l'OS
- *
- * @return: string|null
- */
- function get_os_regexp() {
- $os = array('win' => 'Windows',
- 'linux' => 'Linux',
- 'mac' => 'Macintosh',
- 'freebsd' => 'FreeBSD',
- 'sunos' => 'SunOS',
- 'beos' => 'BeOS',
- 'os/2' => 'OS/2',
- 'aix' => 'AIX',
- 'qnx' => 'QNX',
- 'iphone' => 'iPhone',
- 'ipad' => 'iPad',
- 'openbsd' => 'OpenBSD',
- 'netbsd' => 'NetBSD',
- 'android' => 'Android',
- 'playbook' => 'PlayBook',
- 'blackberry' => 'BlackBerry');
- $matches = array();
- // Cf. http://www.php.net/manual/fr/function.preg-match.php
- return (preg_match('#('.implode('|', array_keys($os)).')#',
- strtolower($_SERVER['HTTP_USER_AGENT']),
- $matches)
- ? $os[$matches[0]]
- : null);
- }
- echo get_os();
- echo get_os_regexp();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement