[PHP-users 1194] Re: 携帯機種別による振分け

Hideyuki Hayashi php-users@php.gr.jp
Thu, 16 Aug 2001 15:07:47 +0900


お世話になります。林です。
こういうふうにやりました。

<?
$agent = getenv("HTTP_USER_AGENT");
$baseurl = 'http://hogehoge.com';

if( strstr($agent, "DoCoMo")!=""){
    header("Location: $baseurl/Imode/");
    exit;

}else if(strstr($agent,"J-PHONE")!=""){
    header("Location: $baseurl/Jsky/");
    exit;

}else if(strstr($agent, "UP.Browser")!=""){
    header("Location: $baseurl/Ezweb/");
    exit;


}else if(strstr($agent,"Lynx")!=""){
    header("Location: $baseurl/Text/");
    exit;

}else{
    header("Location: $baseurl/main.html");
    exit;

}
?>

On Thu, 16 Aug 2001 14:53:26 +0900
ML <ml@naviokinawa.com> wrote:

> お世話になっております。
> 前田でございます。
> 
> 現在I-mode,J-sky,EZwebの3機種対応のサイトを作成しています。
> そこで質問ですが。
> 機種によって振分けをし、適切なデータを表示させたいと思っています。
> 
> perlでいうと
> ----------------------------------
> ($mob{car},$mob{ver},$mob{mod}) = split(/\//,$ENV{'HTTP_USER_AGENT'});
> 
> if($mob{car} eq 'DoCoMo'){
> 	print "Content-type: text/html\n\n";
> 	print "EOM";
> <html><body>
> I-modeです。
> </body></html>
> EOM
> 
> }elsif($mob{car} eq 'UP.Browser'){
> 	print "Content-type: text/x-hdml;charset=Shift_JIS\n\n";
> 	print "EOM";
> <hdml version=3.0 markable=true ttl=0>
> <display name=top>
> EZwebです。
> </display></hdml>
> EOM
> 
> }else{
> 	print "Content-type: text/html\n\n";
> 	print "EOM";
> <html><body>
> その他です
> </body></html>
> }
> -----------------------------------
> 
> というものを実現させたいのですが、アイディアが浮かびません。
> header関数を使うものかと思っているのですが、
> 説明には「すべての実際の出力の前にコールする必要がある」
> となっていることは上記のようなことは実現不可能なのでしょうか?
> headerに関する関数は他にもあるのでしょうか?
> 
> 何かアドバイス頂けないでしょうか
> 宜しくお願い致します。
> 
> PHPのバージョンは
> PHP3.0.18-i18n-ja-2です。
> 
> ********
> 前田
> ml@naviokinawa.com
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users

RCA Hideyuki Hayashi
   hayashi@rca.co.jp  
  http://www.rca.co.jp/