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

BosProject T.Takeuchi php-users@php.gr.jp
Thu, 16 Aug 2001 15:05:09 +0900


前田さん、はじめまして。
私の場合は、次のようにしています。

------ agent.php -----
<?php
if( i-mode の場合 ){
  $agent = 'i-mode';
}
else if( J-SKY の場合 ){
    $agent = 'J-SKY';
}
else if( EZweb の場合 ){
    $agent = 'EZweb';
  header("Content-type: text/x-hdml;charset=Shift_JIS");
}
?>

----- 各PHPスクリプト内 -----
<?php
include 'agent.php';

必要処理

if($agent == 'EZweb'){
  hdml 出力
}
else{
  html 出力
}
?>

 全てのスクリプトの冒頭でこのようにagent.phpをインクルード
すれば、かなり手間隙を省略することができると思います。

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
合資会社ボスプロジェクト
竹内 輝明 webmaster@bos-project.com
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
----- Original Message ----- 
From: "ML" <ml@naviokinawa.com>
To: <php-users@php.gr.jp>
Sent: Thursday, August 16, 2001 2:53 PM
Subject: [PHP-users 1191] 携帯機種別による振分け


> お世話になっております。
> 前田でございます。
> 
> 現在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
>