php中的用户代理

时间:2013-11-13 00:57:38

标签: php user-agent

我正在尝试使用一个小脚本。这应该不难,但是对于PHP来说我是一个n00b(我多年前的最后一次实验)。

所以,基本上,我想要一个小脚本,如果客户端使用移动设备,它会提供一个链接到Facebook作为应用程序链接。如果客户端有普通的笔记本电脑,脚本应输出常规的Facebook。

好的,所以我只是展示我搞砸的代码,让它(希望)更清楚我正在尝试的东西(有些人可能会注意到我从另一个线程中抓取了部分代码):

<?php
function check_user_agent ( $type = NULL ) {
        $user_agent = strtolower ( $_SERVER['HTTP_USER_AGENT'] );
            if ( $type == 'mobile' ) {
                    if ( preg_match ( "/phone|iphone|itouch|ipod|symbian|android|htc_|htc-|palmos|blackberry|opera mini|iemobile|windows ce|nokia|fennec|hiptop|kindle|mot |mot-|webos\/|samsung|sonyericsson|^sie-|nintendo/", $user_agent ) ) {
                        echo "fb://groups/334257489999204";
                    } else if ( preg_match ( "/mobile|pda;|avantgo|eudoraweb|minimo|netfront|brew|teleca|lg;|lge |wap;| wap /", $user_agent ) ) {
                        echo "fb://groups/123456789";
                    }
        }
        else {
            echo "https://www.facebook.com/groups/123456789";
        };
        echo "https://www.facebook.com/groups/123456789";
};
?>" />

此代码位于.php文件(主要是HTML)中的html anchor href标记中。

谢谢!

1 个答案:

答案 0 :(得分:0)

这应该让你走上正确的道路

$user_agent = strtolower ( $_SERVER['HTTP_USER_AGENT'] );
if ( empty($user_agent) ) {
    $is_mobile = false;
} elseif ( preg_match ( "/mobile|pda;|avantgo|eudoraweb|minimo|netfront|brew|teleca|lg;|lge |wap;| wap|phone|iphone|itouch|ipod|symbian|android|htc_|htc-|palmos|blackberry|opera  mini|iemobile|windows ce|nokia|fennec|hiptop|kindle|mot |mot-|webos\/|samsung|sonyericsson|^sie-|nintendo/", $user_agent ) ) {

          $is_mobile = true;

} else {
    $is_mobile = false;
}

  echo (is_mobile) ? 'I am a mobile !' : 'I am not a mobile :(';