Maison  >  Article  >  développement back-end  >  Comment implémenter le saut automatique vers la page mobile en php

Comment implémenter le saut automatique vers la page mobile en php

PHPz
PHPzoriginal
2023-04-26 10:32:561149parcourir

Dans la conception Web, le passage automatique à la page mobile est très important pour le site Web. Alors que de plus en plus de personnes utilisent des téléphones mobiles pour naviguer sur des sites Web, disposer d’une expérience d’accès synchronisée et efficace aux sites Web est devenu un avantage incontournable. En PHP, comment accéder automatiquement à la page mobile ? Cet article abordera cette question.

1. Déterminer l'appareil actuel

En PHP, pour accéder automatiquement à la page sur le téléphone mobile, vous devez d'abord déterminer le type d'appareil actuellement consulté. Il existe différentes manières de procéder, une méthode courante consiste à détecter les informations d'en-tête de requête HTTP (HTTP_USER_AGENT) pour obtenir des informations sur l'appareil actuel. En général, les informations d'en-tête de demande des téléphones mobiles et des ordinateurs sont différentes. En détectant ces listes, le type d'appareil actuellement consulté peut être déterminé.

Ce qui suit est un exemple de code PHP pour déterminer le type d'appareil actuel :

$is_mobile = false; // 初始化变量为false,表示当前设备类型不是移动设备

// 检测HTTP_USER_AGENT请求头信息,判断当前设备类型
if(isset($_SERVER['HTTP_USER_AGENT'])){

    $user_agents = array("iPhone","iPad","Android","webOS","BlackBerry","iPod","Symbian","IsGeneric");

    foreach($user_agents as $ua){
        if(strpos($_SERVER['HTTP_USER_AGENT'], $ua) !== false){
            // 判断是否为移动设备,如果包含上述字符串,即表示为移动设备
            $is_mobile = true;
            break;
        }
    }
}

2. Sauter en fonction du type d'appareil

Après avoir obtenu le type d'appareil actuel, vous pouvez automatiquement accéder à l'appareil correspondant en fonction du type d'appareil page. C’est aussi l’une des clés de l’adaptation mobile.

En prenant la page d'accueil du site comme exemple, le code suivant montre comment accéder à la page correspondante en fonction des différents types d'appareils :

if($is_mobile){ 
    header('Location: /m/index.php'); // 跳转到移动端首页地址
    exit(); 
}
else{  
    header('Location: /index.php'); // 跳转到PC端首页地址
    exit(); 
}

Le code ci-dessus implémente la logique suivante :

  • Si le type d'appareil actuel est un appareil mobile, accédez à l'adresse de la page d'accueil du mobile (/m/index.php)
  • Si le type d'appareil actuel est un PC, accédez à l'adresse de la page d'accueil du PC (/index.php)

Une chose à noter est que si le mobile page du site Elle est complètement différente de la page PC. Si la structure de la page, le style, etc. sont différents, vous devez créer des fichiers différents pour la page mobile et la page PC.

3. Optimiser le saut automatique

Lors de la mise en œuvre du saut automatique, vous devez faire attention aux problèmes suivants :

  1. Détecter si le cache est utilisé

Lorsque vous accédez automatiquement à la page correspondante, vous devez faire attention au cache du navigateur. Si des mises à jour ont été effectuées. Si le cache du navigateur n'est pas mis à jour, la redirection automatique échouera. Par conséquent, vous devez vérifier si le paramètre de cache est désactivé et si les paramètres d'en-tête HTTP pertinents sont raisonnables.

Ce qui suit est un exemple :

if($is_mobile){ 
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /m/index.php'); // 跳转到移动端首页地址
    exit(); 
}
else{  
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /index.php'); // 跳转到PC端首页地址
    exit(); 
}
  1. Évitez les sauts infinis

Lors de la mise en œuvre du code de saut automatique, une attention particulière doit être accordée pour éviter les sauts infinis. Une fois ce problème survenu, la page ne s'affichera pas correctement lorsque les utilisateurs visiteront le site.

Ce qui suit est un exemple de code pour éviter les sauts infinis :

if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'http(s)://'.$_SERVER['HTTP_HOST']) !== false){
    // 如果当前访问页地址与目标跳转页地址一致,则不进行跳转
    exit(); 
}

if($is_mobile){ 
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /m/index.php'); // 跳转到移动端首页地址
    exit(); 
}
else{  
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /index.php'); // 跳转到PC端首页地址
    exit(); 
}

Dans le code ci-dessus, cette logique implémente les deux fonctions suivantes :

  • Si l'adresse de la page actuelle est la même que l'adresse de la page de saut cible Si elles sont cohérentes , aucun saut ne sera effectué
  • Pour éviter les sauts infinis et pour éviter les erreurs de code qui conduisent à des sauts infinis et des crashs de sites Web

4 Résumé

Il est très important dans le développement Web de passer automatiquement à la page mobile Un lien. peut aider le site à améliorer l’efficacité de l’accès et l’expérience utilisateur. Pour implémenter le saut automatique en PHP, vous pouvez déterminer le type de périphérique actuel puis sauter selon la page correspondante. En optimisant et en améliorant le code de saut automatique, nous pouvons garantir le bon déroulement de la fonction de saut, apporter une meilleure expérience utilisateur et améliorer les performances du site Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn