Aktueller Standort: Startseite> Neueste Artikel> So verwenden Sie Get_Client_version, um die Client -Browser -Version zu erkennen

So verwenden Sie Get_Client_version, um die Client -Browser -Version zu erkennen

gitbox 2025-05-06

In PHP ist das Erkennung von Client -Browser -Versionen eine häufigste Anforderung. Insbesondere für Webanwendungen, die unterschiedliche Funktionen oder Stile für verschiedene Browserversionen erfordern, ist die Versionskontrolle sehr wichtig. Wir können dies erreichen, indem wir die Benutzer-Agent- Zeichenfolge des Clients erhalten. In diesem Artikel wird die Funktion "Custom Get_Client_Version" verwendet, um die Client -Browser -Version zu erkennen und basierend auf den Versionsinformationen einen geeigneten Steuerelement durchzuführen.

1. Holen Sie sich den Benutzer-Agent des Clientbrowsers

Jedes Mal, wenn die Client-Anfragen Anfragen anwenden, sendet der Browser einen HTTP-Header namens User-Agent , der den Browsertyp, die Version, das Betriebssystem und andere Informationen enthält. PHP bietet $ _server ['http_user_agent'], um diese Informationen zu erhalten.

Wir definieren zunächst eine Funktion, um den Browsertyp und die Browser -Version zu extrahieren.

 function get_client_version() {
    // Erhalten User-Agent Saite
    $userAgent = $_SERVER['HTTP_USER_AGENT'];

    // Browserversion
    $browserVersion = '';
    // Verschiedene Browser erkennen
    if (preg_match('/MSIE (.*?);/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Trident\/.*rv:(.*?)\)/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Chrome\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Chrome: " . $matches[1];
    } elseif (preg_match('/Firefox\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Firefox: " . $matches[1];
    } elseif (preg_match('/Safari\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Safari: " . $matches[1];
    } elseif (preg_match('/Edge\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Edge: " . $matches[1];
    } else {
        $browserVersion = "Unknown Browser";
    }

    return $browserVersion;
}

Im obigen Code verwenden wir regelmäßige Ausdrücke, um den Browsertyp und die Versionsinformationen in der Nutzer-Agent- Zeichenfolge zu extrahieren. Verschiedene Browser haben unterschiedliche Kennungen, beispielsweise steckt die Versionsnummer von Chrome normalerweise hinter Chrome/ , während Internet Explorer MSIE oder Trident verwendet.

2. Führen Sie die Versionskontrolle durch

Sobald wir die Browser -Versionsinformationen extrahiert haben, können wir sie entsprechend der Version unterschiedlich steuern. Angenommen, wir möchten mit einigen alten Versionen von Browsern eine gewisse Kompatibilität ausmachen oder einige erweiterte Funktionen für neue Versionen von Browsern aktivieren.

Beispielsweise können wir die Chrome -Version überprüfen und unterschiedliche Funktionen gemäß der Version bereitstellen:

 function version_control() {
    $browserVersion = get_client_version();
    
    // ErhaltenBrowser名称和Version号
    preg_match('/([a-zA-Z]+): (\d+\.\d+)/', $browserVersion, $matches);
    
    $browserName = $matches[1] ?? 'Unknown';
    $version = $matches[2] ?? '0';

    // Rechts Chrome Versionskontrolle durchführen
    if ($browserName == 'Chrome') {
        if (floatval($version) < 90) {
            echo "Dein Chrome Browserversion过低,请升级以Erhalten更好的体验。";
        } else {
            echo "Dein Chrome Browserversion支持最新功能!";
        }
    } elseif ($browserName == 'Firefox') {
        // Rechts Firefox Führen Sie eine ähnliche Versionskontrolle durch
        if (floatval($version) < 80) {
            echo "Dein Firefox Browserversion过低,请升级以Erhalten更好的体验。";
        } else {
            echo "Dein Firefox Browserversion支持最新功能!";
        }
    } else {
        echo "Erkannt, dass Sie es verwenden $browserName Browser,Version: $version。";
    }
}

In dieser Version der Version_Control rufen wir zuerst get_client_version auf, um die Browser -Versionsinformationen zu erhalten. Als nächstes führen wir eine andere logische Verarbeitung basierend auf dem Namen und der Version des Browsers durch. Wenn die Version von Chrome beispielsweise niedriger als 90 ist, wird der Benutzer daran erinnert, den Browser zu verbessern.

3. Kompletter Beispielcode

Wenn wir den vorherigen Code kombinieren, haben wir ein vollständiges Beispiel, das auf der PHP -Seite verwendet werden kann:

 <?php
function get_client_version() {
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    $browserVersion = '';
    
    if (preg_match('/MSIE (.*?);/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Trident\/.*rv:(.*?)\)/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Chrome\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Chrome: " . $matches[1];
    } elseif (preg_match('/Firefox\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Firefox: " . $matches[1];
    } elseif (preg_match('/Safari\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Safari: " . $matches[1];
    } elseif (preg_match('/Edge\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Edge: " . $matches[1];
    } else {
        $browserVersion = "Unknown Browser";
    }

    return $browserVersion;
}

function version_control() {
    $browserVersion = get_client_version();
    preg_match('/([a-zA-Z]+): (\d+\.\d+)/', $browserVersion, $matches);
    
    $browserName = $matches[1] ?? 'Unknown';
    $version = $matches[2] ?? '0';

    if ($browserName == 'Chrome') {
        if (floatval($version) < 90) {
            echo "Dein Chrome Browserversion过低,请升级以Erhalten更好的体验。";
        } else {
            echo "Dein Chrome Browserversion支持最新功能!";
        }
    } elseif ($browserName == 'Firefox') {
        if (floatval($version) < 80) {
            echo "Dein Firefox Browserversion过低,请升级以Erhalten更好的体验。";
        } else {
            echo "Dein Firefox Browserversion支持最新功能!";
        }
    } else {
        echo "Erkannt, dass Sie es verwenden $browserName Browser,Version: $version。";
    }
}

// 调用Version控制
version_control();
?>

Der obige Code kann Ihnen helfen, unterschiedliche Benutzererfahrungen oder Erinnerungen basierend auf verschiedenen Browserversionen bereitzustellen. Sie können nach Ihren Anforderungen weiter erweitern, z. B. das Hinzufügen weiterer Browser-Unterstützung oder das Aktivieren von spezifischen Front-End-Funktionen in bestimmten Versionen.