ケータイコンテンツでよくある処理に、Flash対応端末であればFlashを、非対応端末であれば画像を出すという処理があります。
PHPでケータイのFlash対応・非対応を判定する関数が公開されています。
次のように使うことが出来ます。
if (isEnableFlash($_SERVER[‘HTTP_USER_AGENT’])) {
echo ‘Flash対応’;
} else {
echo ‘Flash非対応’;
}
携帯のFlashLiteコンテンツを作る予定のある方は必見かもしれませんね。
<?
##携帯のFLASH判定
if (isEnableFlash($_SERVER[‘HTTP_USER_AGENT’])) {
echo ‘Flash対応’;
} else {
echo ‘Flash非対応’;
}/**
* Flash対応判定
*/
function isEnableFlash($agent)
{
if (preg_match(‘/^J-PHONE|MOT-/’, $agent)) {
// J-PHONE, Vodafoneの一部
return false;
} elseif (preg_match(‘/^Vodafone/’, $agent)) {
// Vodafone
if (preg_match(‘/SH|SHf|SE//’, $agent)) {
return true;
} else {
return false;
}
} elseif (preg_match(‘/^SoftBank/’, $agent)) {
// SoftBank
if (preg_match(‘//70[0-9]|805SC/’, $agent)) {
return false;
} else {
return true;
}
} elseif (preg_match(‘/^DoCoMo/1.0//’, $agent)) {
// DoCoMo mova
if (preg_match(‘/[A-Z]{1,2}50[56]i/’, $agent)) {
// 505i, 506i
return true;
} else {
return false;
}
} elseif (preg_match(‘/^DoCoMo/2.0 /’, $agent)) {
// DoCoMo FOMA
if (preg_match(‘/[NP]200[12]|[FN]2051|210[12]V|N2701|NM850iG|
F880iES|N600i|L60[0-2]i/’, $agent)) { ※
// FOMAの一部非対応機種
return false;
} else {
return true;
}
} elseif (preg_match(‘/UP.Browser/’, $agent)) {
// au
if(preg_match(‘/^KDDI/’, $agent)) {
// au(HTML-OK)
if (preg_match(‘/KDDI-ST2[4-9]|CA2[78]|KC2[7-9]|SA29/’
, $agent)) { ※
return true;
} elseif (preg_match(‘/KDDI-[A-Z]{2}2[1-9]|HI3[12]|
KC[3U]1/’, $agent)) { ※
return false;
} else {
return true;
}
} else {
// au(HDML-Only)
return false;
}
} else {
// その他PC等
return true;
}
}
?>