Web デザインでは、モバイル ページに自動的にジャンプすることが Web サイトにとって非常に重要です。携帯電話を使用して Web サイトを閲覧する人が増えるにつれ、同期された効率的な Web サイトへのアクセス エクスペリエンスは必須の利点となっています。 PHP でモバイル ページに自動的にジャンプするにはどうすればよいですか?この記事ではこの問題について説明します。
1. 現在のデバイスを確認する
PHP で携帯電話のページに自動的にジャンプするには、まず現在アクセスしているデバイスの種類を確認する必要があります。これにはさまざまな方法がありますが、一般的な方法の 1 つは、HTTP リクエスト ヘッダー情報 (HTTP_USER_AGENT) を検出して、現在のデバイスに関する情報を取得することです。一般に携帯電話とパソコンではリクエストヘッダー情報が異なり、これらのリストを検出することで現在アクセスしているデバイスの種類を知ることができます。
次は、現在のデバイス タイプを確認するための PHP コードの例です:
$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. デバイス タイプに応じてジャンプします
現在のデバイス タイプを取得したら、次はデバイスの種類に基づいて、対応するページに自動的にジャンプできます。これはモバイルへの適応を達成するための鍵の 1 つでもあります。
サイトのホームページを例として、次のコードは、さまざまなデバイスの種類に応じて対応するページにジャンプする方法を示しています。
if($is_mobile){ header('Location: /m/index.php'); // 跳转到移动端首页地址 exit(); } else{ header('Location: /index.php'); // 跳转到PC端首页地址 exit(); }
上記のコードは、次のロジックを実装しています。
サイトのモバイル ページと PC ページでページ構造やスタイルなどがまったく異なる場合は、各ページで別のファイルを作成します。
##3. 自動ジャンプの最適化##自動ジャンプを実装する場合は、次の問題に注意する必要があります:
#キャッシュが使用されているかどうかの検出
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(); }
無限ジャンプの回避
#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(); }
上記のコードでは、このロジックは次の 2 つの関数を実装します。
If のアドレス現在アクセスしているページはターゲット ジャンプ ページのアドレスと一致しているため、ジャンプは行われません
#無限ジャンプを回避し、無限ジャンプや Web サイトのクラッシュにつながるコード エラーを回避します
以上がPHPでモバイルページへの自動ジャンプを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。