PHPでPCサイトと携帯サイトの振り分け方

Go Yoshiwara

Go Yoshiwara

手書きメーカーを作った時に、PC版と携帯版を作って、アクセスされた端末に合わせて自動的に振り分けたかったので調べてみました。

そもそもそんな事ができるって知らなかったんですが(あんまり携帯でネットやらないんで)、大手のブログとかって大体そうなってるって知って、ああ、それはやらなくてはと、最近思うようになりました。

PHPで振り分ける

$_SERVER['HTTP_USER_AGENT']

どうやって振り分けてるのか知らなかったのですが、どうやら上記の内容でユーザーエージェントってのが取得できるみたい。それをキーにして判断してあげるみたいです。

とりあえず大雑把ですが、こんな感じで携帯とPCを振り分けてみました。

//ユーザーエージェントの判別
function isKeitai() {
	//NTT DoCoMo
	if (preg_match("/DoCoMo/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//旧J-PHONE~vodafoneの2G
	if (preg_match("/J-PHONE/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//vodafoneの3G
	if (preg_match("/Vodafone/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//vodafoneの702MOシリーズ
	if (preg_match("/MOT/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//SoftBankの3G
	if (preg_match("/SoftBank/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//au (KDDI)
	if (preg_match("/PDXGW/", $_SERVER['HTTP_USER_AGENT'])) return TRUE;
	if (preg_match("/UP.Browser/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//ASTEL
	if (preg_match("/ASTEL/", $_SERVER['HTTP_USER_AGENT'])) return true;
	//DDI Pocket
	if (preg_match("/DDIPOCKET/", $_SERVER['HTTP_USER_AGENT'])) return true;

	return false;
}

//PCと携帯とで振り分ける
if(isKeitai() == false){
	require_once("PC版");
}else{
	require_once("携帯版");
}

ユーザーエージェントをもっと細かく調べてあげれば、携帯の機種別に振り分ける事も可能っぽい。

とりあえず、どんなサービスを提供するにしても、携帯版ってのはこれからは絶対必要だろうから、これを使ってガリガリ振り分けていこうと思いました。でも正直、携帯サイト作るのは苦手です。あんまり面白くないんだもん・・・。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

1982年生まれ。信濃中学校卒業。フリーターとして23歳まで様々な職業に従事し数々のスキルを身につける。ウェブデザイナーとして活躍したのち、25歳で起業し代表取締役に就任(会長を経て2022年に退任)。自然あふれる場所で生まれ、アウトドアスポーツをして育ったが故にITの道を志したが、近年、再びアウトドアな環境、遊び、生き方を模索して長野県に移住。わくわくするものをつくり続けていたい。

このメンバーの記事をもっと読む