# 「php」判斷flash lite版本

- URL: https://justfly.idv.tw/%e3%80%8cphp%e3%80%8d%e5%88%a4%e6%96%b7flash-lite%e7%89%88%e6%9c%ac/
- 日期: 2010-09-03
- 分類: WEB&amp;RIA
- 標籤: flash lite, php

這件事很久以前在ＰＣ上痛苦過一次

想不到事隔多年在手機又是一樣的問題

而且比ＰＣ更麻煩！ＰＣ還可以放上下載連結請使用者下載

flash lite連想下載也辦不到！只能準備低階版本或用php代替

手機的flash lite也不像ＰＣ的瀏覽器一樣簡單可以查詢版本

只能透過各個機種的型號來辦別

這邊倒是有人已經寫好[判別有沒有安裝flash的function](http://d.hatena.ne.jp/hoyo1111/20090104/1231052436)可以直接使用

不過光是判別“有沒有”並不是今天的需求

終於在[這邊](http://ke-tai.org/index.php?%B7%C8%C2%D3%C3%BC%CB%F6%A5%B9%A5%DA%A5%C3%A5%AF%B0%EC%CD%F7)找到更理想的解決方案

拖很多熱心測試好心人的福

我只要下載ＣＳＶ就可以放到ＤＢ裡做查詢了！

只有一點點美中不足的是下載下來的ＣＳＶ需要作一點更改

把所有空白的部份都填上ＮＵＬＬ或0才能正常載入到ＤＢ中

參考上面兩篇文章後的成品

大致上就沒有什麼問題了！

function:

```
/**
		 * Flash対応判定
		 */
		function isEnableFlash($agent)
		{
		  if (preg_match('/^J\\-PHONE|MOT\\-/', $agent)) {
		    // J-PHONE, Vodafoneの一部【NG】
		    return false;
		  } elseif (preg_match('/^Vodafone/', $agent) && !preg_match('/SH|SHf|SE\\//', $agent)) {
		    // Vodafone【一部機種以外はNG】
		    return false;
		  } elseif (preg_match('/^SoftBank/', $agent) && preg_match('/\\/70[0-9]|805SC/', $agent)) {
		    // SoftBank【一部機種のみNG】
		    return false;
		  } elseif (preg_match('/^Mozilla\\/5\\.0 \\(iPhone/', $agent)) {
		    // Softbank iPhone【NG】
		    return false;
		  } elseif (preg_match('/^DoCoMo\\/1\\.0\\//', $agent) && !preg_match('/[A-Z]{1,2}50[56]i/', $agent)) {
		    // DoCoMo mova【505i, 506i以外はNG】
		    return false;
		  } elseif (preg_match('/^DoCoMo\\/2\\.0\\ /', $agent)) {
		    // DoCoMo FOMA【一部機種のみNG】
		    if (preg_match('/[NP]200[12]|[FN]2051|210[12]V|N2701|NM850iG|F880iES|N600i|L60[0-2]i/', $agent)) {
		      return false;
		    }
		  } elseif (preg_match('/UP\\.Browser/', $agent)) {
		    // au【HTTP_X_UP_DEVCAP_MULTIMEDIAの13桁目で判別】
		    if (!isset($_SERVER["HTTP_X_UP_DEVCAP_MULTIMEDIA"]) || !substr($_SERVER["HTTP_X_UP_DEVCAP_MULTIMEDIA"], 12, 1)) {
		      return false;
		    }
		  }
		  
		  $column = "Flash_version";
		  $tbl = "mtb_ketai_master";
		  $where = "agent = '".$agent."'";
		  $ketaiinfo = $this->select($column,$tbl,$where);
		  if($ketaiinfo[0]["Flash_version"]
```

套用：

```
//Flash対応判定
    $isEnableFlash = $userObj->isEnableFlash($_SERVER['HTTP_USER_AGENT']);
	$smarty->assign("isEnableFlash",$isEnableFlash);
```
