Перенаправляим мобильные устройства на моб.версию сайта (PHP)

В php за определение браузера отвечает $_SERVER

<?php
echo $_SERVER[‘HTTP_USER_AGENT’];
?>

My Android browser Output:

Mozilla/5.0 (Linux; U; Android 2.1-update1; en-in; HTC_Wildfire_A3333 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari

Создадим файл user_agent.php

<?php
$iphone = strpos($_SERVER[‘HTTP_USER_AGENT’],»iPhone»);
$android = strpos($_SERVER[‘HTTP_USER_AGENT’],»Android»);
$palmpre = strpos($_SERVER[‘HTTP_USER_AGENT’],»webOS»);
$berry = strpos($_SERVER[‘HTTP_USER_AGENT’],»BlackBerry»);
$ipod = strpos($_SERVER[‘HTTP_USER_AGENT’],»iPod»);

if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header(‘Location: http://mobile.site.com/’);
//OR
echo «<script>window.location=’http://mobile.site.com'</script>»;
}
?>

Теперь включаем данный файл в наш Index.php или Home.php

<?php
include(‘user_agent.php’); // Redirecting http://mobile.site.info
// site.com data
?>

Теперь если пользователь зайдет с мобильного устройства то его перенаправит на http://mobile.site.info.
Вот и всё!

Комментарии (3 комментария) на "Перенаправляим мобильные устройства на моб.версию сайта (PHP)"

  1. С чувством глубокого удовлетворения узнал, что устройства на Opera Mobile и Opera Mini не являются мобильными.
    P.S. Правильно сделали, что не стали копипастить этот быдлокод дальше типа $operam = strpos($_SERVER[‘HTTP_USER_AGENT’],»Opera M»); всё равно он нерабочий. Правильно так:
    if ($iphone == true || $android == true || $palmpre == true || $ipod == true || $berry == true) {
    каждой переменной по отдельности полное условие, горе-хакер 🙂

  2. admin:

    не на самом деле можно ещё подругому, на каких то сайтах видел список все возможных устройств, (мобильники короче) и через заголовок он определяет не браузер а модель телефона и если эта модель есть в списке, то перенаправляет на мобильную версию

  3. Вадим:

    if ($iphone || $android || $palmpre || $ipod || $berry == true)
    {
    header(’Location: http://mobile.site.com/’);
    //OR
    echo “window.location=’http://mobile.site.com’”;
    }
    Это чо?
    После header(’Location: http://mobile.site.com/’);
    Вывод не сработает..
    И что это за паранои на случий несрабатывания php. смешно)))))))))

Отправить комментарий

Другие статьи рубрики "php+mobile"