PHP 检测手机类型和回声


PHP detect phone type and echo

我正在尝试根据访问者的用户代理字符串识别访问者的电话类型。但是,我在代码中找不到错误。

<?php
//create an array to be filled with phone type
$arr = phones();
$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");
$nokia = strpos($_SERVER['HTTP_USER_AGENT'],"Nokia");
if ($iphone || $android || $palmpre || $ipod || $berry || $nokia == true)
{
    echo "Specially for you as $iphone owner!";
}
?>

考虑到其他评论,你不应该自己这样做。 这些用户代理远非详尽列表。但是,如果您想尝试自己,我建议您尝试以下方法。

此外,如果未找到"iPhone"则条件自动为 false,并且不会评估其他语句。

我喜欢做这样的事情:

$has_mobile_ua = FALSE;
$user_agents = array('iPhone', 'Android', 'webOS', 'BlackBerry', 'iPod', 'Nokia');
foreach ($user_agents as $user_agent) {
  if (strpos($_SERVER['HTTP_USER_AGENT'], $user_agent) !== FALSE) {
    $has_mobile_ua = TRUE;
    break;
  }
}
if ($has_mobile_ua) {
  // your code
}

对于这种情况,请尝试使用 stristr 更改 strpos。

$iphone = stristr("$_SERVER[HTTP_USER_AGENT]","iphone");

它对我有用,使用与您相同的代码..