mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 20.04.2024 06:14 Benutzername: Passwort: Auto-Login

Thema: User_Agent auswerten vom 18.02.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> User_Agent auswerten
Autor Nachricht
batzen
Threadersteller

Dabei seit: 21.05.2007
Ort: Berlin
Alter: 35
Geschlecht: Männlich
Verfasst Mi 18.02.2009 18:18
Titel

User_Agent auswerten

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen..

Ich möchte für eine Statistik die Server-Variable user_agent auswerten, um Browser + OS zu erkennen.

Kennt dafür jemand vlt. einen passenden Code-Schnipsel?

Gruß, Batzen..
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Synoxis

Dabei seit: 07.09.2005
Ort: Roßdorf
Alter: 35
Geschlecht: Männlich
Verfasst Do 19.02.2009 01:06
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
batzen
Threadersteller

Dabei seit: 21.05.2007
Ort: Berlin
Alter: 35
Geschlecht: Männlich
Verfasst Do 19.02.2009 18:09
Titel

Antworten mit Zitat Zum Seitenanfang

Synoxis hat geschrieben:
Code:
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>


* Ööhm... ja? *

Danke, aber wie man eine Variable ausgibt ist mir bekannt. Es ging mir mehr um das auswerten der Informationen in diesem String.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 19.02.2009 18:14
Titel

Antworten mit Zitat Zum Seitenanfang

http://de.php.net/manual/de/reserved.variables.server.php

http://de.php.net/manual/de/function.get-browser.php
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
batzen
Threadersteller

Dabei seit: 21.05.2007
Ort: Berlin
Alter: 35
Geschlecht: Männlich
Verfasst Do 19.02.2009 18:42
Titel

Antworten mit Zitat Zum Seitenanfang

Danke, die Funktion kenne ich. Das Problem ist nur die Abhängigkeit von der browscap.ini.

Da diese Datei nicht auf jedem Server mitinstalliert ist, wird das Programm zwangsweise nicht überall laufen. Wollte das möglichst umgehen. Dachte es gibt vlt. einen Codeschnipsel, der den String quasi "zu Fuß" auseinandernimmt. Die gängigsten Systeme und Browser würden da ja vollkommen reichen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Do 19.02.2009 18:44
Titel

Antworten mit Zitat Zum Seitenanfang

naja, dann schau dir den http user agent von ein paar browsern an und zerpflück ihn mit ner regex.
preg_match,eregi etc können helfen.


€:
hier ma n snippet aus den php.net comments:

Code:

<?php
class Browser {
    /**
        Figure out what browser is used, its version and the platform it is
        running on.

        The following code was ported in part from JQuery v1.3.1
    */
    public static function detect() {
        $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);

        // Identify the browser. Check Opera and Safari first in case of spoof. Let Google Chrome be identified as Safari.
        if (preg_match('/opera/', $userAgent)) {
            $name = 'opera';
        }
        elseif (preg_match('/webkit/', $userAgent)) {
            $name = 'safari';
        }
        elseif (preg_match('/msie/', $userAgent)) {
            $name = 'msie';
        }
        elseif (preg_match('/mozilla/', $userAgent) && !preg_match('/compatible/', $userAgent)) {
            $name = 'mozilla';
        }
        else {
            $name = 'unrecognized';
        }

        // What version?
        if (preg_match('/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches)) {
            $version = $matches[1];
        }
        else {
            $version = 'unknown';
        }

        // Running on what platform?
        if (preg_match('/linux/', $userAgent)) {
            $platform = 'linux';
        }
        elseif (preg_match('/macintosh|mac os x/', $userAgent)) {
            $platform = 'mac';
        }
        elseif (preg_match('/windows|win32/', $userAgent)) {
            $platform = 'windows';
        }
        else {
            $platform = 'unrecognized';
        }

        return array(
            'name'      => $name,
            'version'   => $version,
            'platform'  => $platform,
            'userAgent' => $userAgent
        );
    }
}

Usage:
$browser = TkBrowser::detect();
echo 'You browser is '.$browser['name'].' version '.$browser['version'].' running on '.$browser['platform'];
?>


Zuletzt bearbeitet von choise am Do 19.02.2009 18:47, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
batzen
Threadersteller

Dabei seit: 21.05.2007
Ort: Berlin
Alter: 35
Geschlecht: Männlich
Verfasst Do 19.02.2009 19:00
Titel

Antworten mit Zitat Zum Seitenanfang

Jo, danke. Ich fürchte darauf wird es hinauslaufen.

Hatte einfach gehofft es gäbe vlt. irgendeine OpenSource Klasse mit den entsprechenden Definitionen. Ist halt recht zeitaufwändig das alles zu zerpflücken.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen User Agent Profile benutzen? - mobile Internetseiten
[php]logfiles auswerten
Fragebogen mit PHP auswerten!!!
HTML Formular auswerten
Subdomain-Name einer URL auswerten zum weiterarbeiten?
Checkboxen auswerten und per Mail versenden
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.