Wie stellt PHP fest, ob es auf einem Mobiltelefon oder einem PC geöffnet wird?

PHPz
Freigeben: 2023-04-21 09:56:03
Original
3197 Leute haben es durchsucht

Im heutigen Zeitalter des mobilen Internets ist die Optimierung des Website-Designs zur Anpassung an die Nutzung verschiedener Endgeräte der Benutzer zu einer notwendigen Aufgabe geworden. Daher ist die Frage, wie man in PHP feststellen kann, ob ein Benutzer beim Zugriff auf eine Website ein Mobiltelefon oder einen PC verwendet, zu einem der Probleme geworden, mit denen sich Entwickler auseinandersetzen müssen. In diesem Artikel werden einige gängige PHP-Codes vorgestellt, mit denen Entwickler feststellen können, ob es sich beim Client, der die Website öffnet, um ein Mobiltelefon oder einen PC handelt.

1. Bestimmen Sie das Zugriffsterminal über HTTP_USER_AGENT

HTTP_USER_AGENT ist eine Header-Information im HTTP-Protokoll. Der Anforderungsheader enthält viele Geräteidentifikationsinformationen, die verwendet werden können der Gerätetyp des Zugangsterminals. Durch die Analyse des HTTP_USER_AGENT im Benutzeranforderungsheader können der Browser, das Betriebssystem, das mobile Gerät und andere vom Benutzer verwendete Informationen abgerufen werden, zu denen auch die Identifikationsinformationen des mobilen Geräts oder PC-Geräts gehören.

Die spezifische Implementierung lautet wie folgt:

function is_mobile(){
    if (isset($_SERVER['HTTP_USER_AGENT'])) {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];
        $mobile_agents = Array("Android", "iPhone", "iPod", "iPad", "Windows Phone", "BlackBerry", "SymbianOS");
        foreach ($mobile_agents as $mobile_agent) {
            if (strpos($user_agent, $mobile_agent) !== false) {
                return true;
            }
        }
    }
    return false;
}
Nach dem Login kopieren

Durchlaufen Sie das Array $mobile_agents, und Sie können anhand der Frage, ob HTTP_USER_AGENT das Mobiltelefon enthält, feststellen, ob das Zugriffsterminal ein mobiles Gerät ist Gerätekennung. Wenn „true“ zurückgegeben wird, bedeutet dies, dass der Benutzer ein mobiles Gerät verwendet hat, andernfalls bedeutet dies, dass der Benutzer ein PC-Gerät verwendet hat.

2. Bestimmen Sie das Zugriffsterminal über die vermutete Originalmethode von $_SERVER

Zusätzlich zu den Header-Informationen HTTP_USER_AGENT gibt es eine weitere Beurteilungsmethode, nämlich über die vermutete Methode Ursprüngliche Methode des HTTP_ACCEPT-Werts von $_SERVER zur Bestimmung des Zugriffsterminaltyps. Der HTTP_ACCEPT-Wert stellt den Seitentyp dar, den der Browser des Benutzers akzeptieren kann. Normalerweise akzeptiert der Browser standardmäßig Daten vom Typ Text/HTML, während mobile Geräte Datenformate vom Typ Text/HTML oder WAP anfordern.

Der spezifische Implementierungscode lautet wie folgt:

function is_mobile(){
    if (isset($_SERVER['HTTP_ACCEPT'])) {
        $accept = $_SERVER['HTTP_ACCEPT'];
        if (strpos($accept, 'vnd.wap.xhtml+xml') !== false || 
            strpos($accept, 'text/vnd.wap.wml') !== false) {
            return true;
        }
    }
    return false;
}
Nach dem Login kopieren

Wenn true zurückgegeben wird, bedeutet dies, dass der Benutzer ein mobiles Gerät für den Zugriff verwendet hat, andernfalls bedeutet dies, dass der Benutzer ein verwendet hat PC-Gerät für den Zugriff.

3. Zugriff auf bestimmte URL-Pfade über mobile Geräte

Wenn ein mobiles Gerät auf die Website zugreift, springt es standardmäßig automatisch zur mobilen Version der Webseite Wenn ein Desktop-Gerät auf die Website zugreift, wird zur Desktop-Version der Webseite gesprungen. Entwickler können Anfragen von verschiedenen Geräten basierend auf unterschiedlichen URL-Pfaden verarbeiten.

Das Hinzufügen der Zeichenfolge „/m/“ zur URL bedeutet beispielsweise, dass es sich bei der aufgerufenen Seite um eine mobile Website handelt. Nach der Anpassung des Inhalts kann diese weiterhin gerendert werden. Wenn die Zugriffs-URL nicht die Zeichenfolge „/m/“ enthält, bedeutet dies, dass Sie auf die PC-Seite zugreifen.

Der spezifische Implementierungscode lautet wie folgt:

function is_mobile(){
    if(isset($_SERVER['HTTP_REFERER'])){
        $referer = strtolower($_SERVER['HTTP_REFERER']);
        $mobile_url = strtolower($_SERVER['HTTP_HOST'].'/m/');
        if(strpos($referer, $mobile_url) !== false){
            return true;
        }
    }
    return false;
}
Nach dem Login kopieren

Durch Überprüfen des Werts von $_SERVER['HTTP_REFERER'] können Sie den Seitenlink abrufen, über den der Benutzer die Seite eingegeben hat aktuelle Seite und ermittelt so die Nutzung des Benutzers. Handelt es sich um ein mobiles Gerät oder ein PC-Gerät.

Zusammenfassung

Die oben genannten drei Methoden können verwendet werden, um den Typ des Benutzerendgeräts zu bestimmen. Welche Methode zu wählen ist, hängt hauptsächlich von der tatsächlichen Situation der Anwendung ab. In praktischen Anwendungen können wir diese Methoden auf verschiedene Szenarien anwenden, um den Benutzern ein benutzerfreundlicheres Erlebnis zu bieten. Wenn ein Entwickler eine Webanwendung entwickeln möchte, die sowohl für mobile Geräte als auch für PCs geeignet ist, kann dies mit der oben genannten Methode problemlos umgesetzt werden.

Das obige ist der detaillierte Inhalt vonWie stellt PHP fest, ob es auf einem Mobiltelefon oder einem PC geöffnet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!