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

$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);
  
  }

Comment Form

コメントを表示する前に、管理人の承認が必要になることがあります。その場合は、承認されるまでコメントは表示されませんので、ご了承ください。

スタイル用のHTMLタグが使えます

Trackback

Recent entry

Search

Tag Cloud

Page Top