携帯端末情報取得メソッド

投稿者:

$Date = date(‘Y-m-d H:i:s’);
$r = get_term_info();
echo “Date:$Date”;
echo “キャリア:$r[0]”;
echo “機種:$r[1]”;
echo “端末番号:$r[2]”;
echo “UID:$r[3]”;
if($r[0] == ‘DoCoMo’) echo “GUID:$r[5]”;
  // 機種名・固体識別番号取得
  function get_term_info() {
   $cary = ”;
   $model = ”;
   $devid = ”;
   $ser = ”;
   $icc = ”;
   $docomo_guid = ”;
   $user_agent = explode(“/”,$_SERVER[‘HTTP_USER_AGENT’]);
  
  
  //docomo
  if ($user_agent[0] == ‘DoCoMo’) {
    # DoCoMo
    if (preg_match(‘/^1\..$/’, $user_agent[1])) {
    # ブラウザバージョン 1.0
    $model = $user_agent[2];
    $devid = ”;
    $ser = preg_replace(‘/^ser(.+)/’,’\\1′,$user_agent[4]);
    $icc = ”;
  } elseif (preg_match(‘/^2\..\s(.+?)\(c.*?;ser(.+?)[\s;]icc(.+?)\)/’, $user_agent[1])) {
    # ブラウザバージョン 2.0(FOMA)
    $model = preg_replace(‘/^2\..\s(.+?)\(c.*?;ser(.+?)[\s;]icc(.+?)\)/’,’\\1′,$user_agent[1]);
    $ser = preg_replace(‘/^2\..\s(.+?)\(c.*?;ser(.+?)[\s;]icc(.+?)\)/’,’\\2′,$user_agent[1]);
    $icc = preg_replace(‘/^2\..\s(.+?)\(c.*?;ser(.+?)[\s;]icc(.+?)\)/’,’\\3′,$user_agent[1]);
  }
    $docomo_guid = $_SERVER[‘HTTP_X_DCMGUID’];
    $cary = ‘DoCoMo’;
  }
  
  //au
  elseif (preg_match(“/KDDI/”,$user_agent[0]) or ($user_agent[0] == ‘UP.Browser’)) {
    # au(旧機種)
    $model = $user_agent[0];//KDDI-SN37 UP.Browser
    //$model = $user_agent[1];//6.2.0.11.1.2(GUI) MMP
    //$model = $user_agent[2];//2.0
    //$model = $_SERVER[‘HTTP_USER_AGENT’];
  if ($user_agent[0] == ‘UP.Browser’) {
    $devid = preg_replace(‘/(.+?)-(.+)/’,’\\2′,$user_agent[1]);
  } elseif (preg_match(“/KDDI/”,$user_agent[1])) {
    $devid = preg_replace(‘/^KDDI-(.+?)\sUP(.+)/’,’\\1′,$user_agent[0]);
  }
    $ser = preg_replace(‘/^(.+?)_t.+/’,’\\1′,$_SERVER[‘HTTP_X_UP_SUBNO’]);
    $icc = $_SERVER[‘HTTP_X_UP_SUBNO’];
    $cary = ‘au’;
  }
  
  //sb
  elseif (preg_match(“/(J-PHONE)|(Vodafone)|(MOT)|(SoftBank)/”,$user_agent[0])) {
    # Vodafone,SoftBank
    $model = preg_replace(‘/^(.+?)[\s_]*/’,’\\1′,$_SERVER[‘HTTP_X_JPHONE_MSNAME’]);
    if ($model == ”) {
      if (preg_match(“/SoftBank/”,$user_agent[0])) {
        $model = $user_agent[2];
      } else {
        $model = preg_replace(‘/^(.+?)\s*/’,’\\1′,$user_agent[2]);
      }
    }
    if (preg_match(“/J-PHONE/”,$user_agent[0])) {
      # ‘J-PHONE’ユーザーエージェント
      $ser = preg_replace(‘/^SN(.+?)\s.+$/’,’\\1′,$user_agent[3]);
    } elseif (preg_match(“/Vodafone/”,$user_agent[0]) or preg_match(“/SoftBank/”,$user_agent[0])) {
      # ‘Vodafone’,’SoftBank’ユーザーエージェント
      $ser = preg_replace(‘/^SN(.+?)\s.+$/’,’\\1′,$user_agent[4]);
    } elseif (preg_match(“/MOT/”,$user_agent[0])) {
      $ser = ”;
    }
    $devid = ”;
    $icc = $_SERVER[‘HTTP_X_JPHONE_UID’];
    $cary = ‘SoftBank’;
  }
  
  //
  //
  //other
  else {
    $cary = ‘PC’;
    $model = $user_agent[0].’ ‘.$user_agent[1];
    $devid = ”;
    $ser = ”;
    $icc = ”;
  }
  
  return array($cary,$model,$ser,$icc,$devid,$docomo_guid);
  
  }

Thank you for reading this post, don't forget to subscribe!