携帯振り分け
厳密に携帯の機種毎に飛ばすページを変えたい場合や、特定の機種だけを別ページにしたい場合のプログラムを書いてみた。
誰でも追加・変更しやすいよう、CSVファイルを更新すればオッケー。
クラスにまとめたので、トップページのphp等の最初にrequire_onceなどで読み込んであげれば動作します。
//CSVファイル場所を指定する場合は以下にパス記述
define(SETPATH,"");
class mobile_divergence {
var $ua;
var $url = "mobile_list.csv";
//_constract
function mobile_divergence($url=false){
$this->ua = $_SERVER['HTTP_USER_AGENT'];
if($url) $this->url = $url;
$this->loadcsv();
}
function loadcsv(){
if($this->is_url($this->url)){
$datas = file($this->url);
} else {
$datas = file_get_contents($this->url);
}
return $this->Jumping($datas);
}
function Jumping($d){
for ($i=0;$i<sizeof($d);$i++){
$csvdatas[$i] = split(",",$d[$i]);
if(strstr($this->ua,$csvdatas[$i][0])) header('location: '.$csvdatas[$i][1]);
}
}
function is_url($text){
return (!preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $text)) ? TRUE : FALSE ;
}
}
$mobileObj = new mobile_divergence(SETPATH);
file_get_contents関数部分はテストしていないので、動作しないかも…
http://~からの絶対パスで書くと、そっちが動くはずです。設定ファイルは必ず同じ箇所から判定ファイルをダウンロードする感じにも出来る。
ちなみにCSVの中身は
「ユーザーエージェント(一部)」、「移動先URL」
ユーザーエージェントは各キャリアのサイトに記載されていますので、ご確認を。
SEOの件書いたら、次の日に3位まであがって、現在、8位転落…
んーようわからん。analytics入れなくちゃね。。
ヨメが最近買った漫画。小心者で漫画家の旦那とステキ?変?な奥様のお話。ゆる~~い感じ。








