PHP-Code zur Erkennung des Betriebssystems unter Berücksichtigung der Ubuntu-Version in Firefox

Habe mir überlegt eine statistische Erfassung zu machen wie viele Besucher meines Blogs welche Ubuntu-Version zu machen, da mir das nun selbst zuviel geworden ist und ich eigentlich überhaupt keine Daten über irgendjemanden speichern will, weil ich für die Erfassung ja auch Anhaltspunkte(etwa die IP-Adresse) für die Reloadsperre bräuchte. überlasse ich das Codeschnipsel mal der Allgemeinheit:

—————————————————————-

function detectOS() {
$OSList = array
(
‘Windows 3.11′ => ‘Win16′,
‘Windows 95′ => ‘(Windows 95)|(Win95)|(Windows_95)’,
‘Windows 98′ => ‘(Windows 98)|(Win98)’,
‘Windows 2000′ => ‘(Windows NT 5.0)|(Windows 2000)’,
‘Windows XP’ => ‘(Windows NT 5.1)|(Windows XP)’,
‘Windows Server 2003′ => ‘(Windows NT 5.2)’,
‘Windows Vista’ => ‘(Windows NT 6.0)’,
‘Windows 7′ => ‘(Windows NT 7.0)’,
‘Windows NT 4.0′ => ‘(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)’,
‘Windows ME’ => ‘Windows ME’,
‘Windows CE’ => ‘Windows CE’,
‘Microsoft PocketPC’ => ‘PPC’,
‘Ubuntu 9.04′ => ‘Ubuntu/9.04′,
‘Ubuntu 8.10′ => ‘Ubuntu/8.10′,
‘Ubuntu 8.04 LTS’ => ‘Ubuntu/8.04′,
‘Ubuntu 7.10′ => ‘Ubuntu/7.10′,
‘Ubuntu 7.04′ => ‘Ubuntu/7.04′,
‘Ubuntu 6.10′ => ‘Ubuntu/6.10′,
‘Ubuntu 6.06 LTS’ => ‘Ubuntu/6.06′,
‘Ubuntu 5.10′ => ‘Ubuntu/5.10′,
‘Ubuntu 5.04′ => ‘Ubuntu/5.04′,
‘Ubuntu 4.10′ => ‘Ubuntu/4.10′,
‘Kubuntu’ => ‘Kubuntu’,
‘Ubuntu’ => ‘Ubuntu’,
‘Debian’ => ‘Debian’,
‘Slackware’ => ‘Slackware’,
‘Mandriva’ => ‘Mandriva’,
‘OpenSuse’ => ‘openSUSE’,
‘Gentoo’ => ‘Gentoo’,
‘Fedora’ => ‘Fedora’,
‘CentOS’ => ‘CentOS’,
‘Knoppix’ => ‘Knoppix’,
‘RedHat’ => ‘RedHat’,
‘Novell’ => ‘Novell’,
‘MEPIS’ => ‘MEPIS’,
‘Xandros’ => ‘Xandros’,
‘Mac OS’ => ‘(Mac_PowerPC)|(Macintosh)’,
‘OpenBSD’ => ‘OpenBSD’,
‘NetBSD’ => ‘NetBSD’,
‘ApacheBench’ => ‘ApacheBench’,
‘AIX’ => ‘AIX’,
‘IRIX’=> ‘Irix’,
‘OSF’ => ‘DEC OSF’,
‘HP-UX’ => ‘HP-UX’,
‘BSDi’ => ‘BSDi’,
‘QNX’ => ‘QNX’,
‘BeOS’ => ‘BeOS’,
‘OS/2′ => ‘OS/2′,
‘Sun OS’ => ‘SunOS’,
‘Symbian’ => ‘Symbian’,
‘PalmOS’ => ‘PalmOS’,
‘Linux’ => ‘(Linux)|(X11)’,
‘Unix’ => ‘Unix’,
‘Search Bot’=>’(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)’
);

foreach($OSList as $CurrOS=>$Match)
{
if (eregi($Match, $_SERVER['HTTP_USER_AGENT']))
{
return $CurrOS;
}
}
}
echo detectOS();

—————————————————————-

Das Gerüst dazu habe ich aus der Geekopedia. Natürlich kann man den Code noch individuell anpassen so, dass er die häufigsten Betriebssysteme der Besucher Ihrer Homepage ganz am Anfang listet und nicht jedesmal die Halbe foreach-Schleife durchläuft. Würde mich um Kommentare und Erweiterungen freuen. Erweiterungen bitte an webmaster@ubuntu-blog.at schicken, falls sie etwas lang geraten sind.

Ähnliche Artikel:

  1. Wechsel von ubuntu-mozilla-daily auf die offiziellen Quellen
  2. Umstieg statt Upgrade: Von Ubuntu zu Trisquel

Tags: , , , ,

10 Antworten zu “PHP-Code zur Erkennung des Betriebssystems unter Berücksichtigung der Ubuntu-Version in Firefox”

  1. Andi sagt:

    Wäre es nicht einfacher, ein Analyse Plugin für WordPress zu installieren?

    Gruss nach Österreich

  2. admin sagt:

    Wäre bestimmt einfacher, aber ich glaub, es gibt noch keines, welches die Ubuntu-Versionen unterscheidet!

  3. Tobias sagt:

    Für die Reload-Sperre könntest du auch einen Cookie setzen, statt die IP zu verwenden.

  4. admin sagt:

    Ja. Das hab ich mir auch schon überlegt allerdings verwenden halt manche Leute Proxies….und da kann es halt zu einem Problem werden. Ausserdem kann jeder seine Cookies löschen und manche machen das sehr häufig(beim Beenden von FF) also wäre die Statistik wohl etwas verfälscht. Am besten wäre wohl eine Kombination aus Cookie und IP.

  5. Andi sagt:

    Also das Analysetool (CyStats) was ich einsetze unterscheidet teilweise die Ubuntu Versionen. Die alten (Gutsy, Feisty..) werden problemlos erkannt. Bei den neuen (Hardy, Intrepid) kann er es noch nicht unterscheiden. Aber es ist wirklich das beste Analyseplugin das es für WordPress gibt, ohne dieses würde das Bloggen nur halb soviel spass machen…

  6. admin sagt:

    Na gut. Dann probier ich das wohl auch aus. ABER ich werde es weiterentwickeln :)

    Edit: Okay. Das war kein Problem: einfach diese Zeilen an entsprechender Stelle einfügen(Datei: wp-content/plugins/cystats/includes/os.php):
    852=>array('Ubuntu Jaunty', '(JAUNTY)'),
    853=>array('Ubuntu Jaunty', 'UBUNTU/9.04'),
    854=>array('Ubuntu Intrepid', '(INTREPID)'),
    855=>array('Ubuntu Intrepid', 'UBUNTU/8.10'),
    856=>array('Ubuntu Hardy', 'UBUNTU/8.04'),
    857=>array('Ubuntu Hardy', 'UBUNTU/8.04'),

  7. Andi sagt:

    Saubere Arbeit!
    Das Ubuntu Logo fehlt jedoch noch vorne dran.
    Aber mit dem kann man leben… ;-)

  8. bernde sagt:

    Hi

    Bei Kubuntu fehlt ein Beistrich und das break ist nutzlos.

  9. admin sagt:

    Um zu bezwecken, dass das Plugin das macht muss man einfach in der Datei wp-content /plugins /cystats /includes/view.class.php nach ubuntu.png suchen und an entsprechender Stelle folgendes nachtragen:
    852=>’ubuntu.png’,
    853=>’ubuntu.png’,
    854=>’ubuntu.png’,
    855=>’ubuntu.png’,
    856=>’ubuntu.png’,
    857=>’ubuntu.png’,

    Beistrich wurde gesetzt, break entfernt. Danke für den Hinweis.

  10. Andi sagt:

    Hey Georg

    Vielen Dank!
    Jetzt habe ich noch viel mehr freude an diesem super Plugin…!
    http://www.pic-upload.de/18.11.08/p86hoq.png

    Mit freundlichen Grüssen
    Andi

Hinterlasse eine Antwort