是否可以檢測是否使用PHP安裝了閃存。我的目標是,如果它被安裝,它會播放一個flv文件,如果不是,它會使用另一個播放器,例如; QuickTime的?如果可能的話,我該如何去做呢?PHP檢測是否安裝了閃存
感謝 湯姆
是否可以檢測是否使用PHP安裝了閃存。我的目標是,如果它被安裝,它會播放一個flv文件,如果不是,它會使用另一個播放器,例如; QuickTime的?如果可能的話,我該如何去做呢?PHP檢測是否安裝了閃存
感謝 湯姆
,還是有一些更好的方法 -
使用SWFObject嵌入您的.swf文件。這幾乎是現在的行業標準,沒有人知道他們在做什麼使用預先構建的Flash嵌入代碼。
SWFObject將幫助你的原因是,你基本上告訴它去你的網站上找到一個div,並用包含嵌入式Flash的div替換它。如果用戶沒有安裝Flash,沒有問題 - 它只是繼續顯示原始的div。
這個想法是,你把你的ALT內容放入將被你的.swf替換的div中。這工作非常好,應該是你所需要的完美。
PHP無法檢測此...只有JavaScript可以。
http://www.adobe.com/support/flash/how/shock/javaplugs/index.html
您不能確定在服務器端(PHP運行在那裏)。您將不得不在客戶端使用JavaScript檢測它,然後在客戶端執行想要的步驟或使用json/ajax/...將請求的結果傳回到服務器。
您可以下載Flash Player Detection Kit從Adobe
**Steps to get Javascript value in PHP code**
Using SWFObject JS file, you can get the playerversion (if flash player exists).
// Code to identify whether flash player installed or not
var playerVersion = swfobject.getFlashPlayerVersion();
// set a cookie in Javascript and reload your page
document.cookie="flashplayer_status" + "=" + playerVersion.release;
// Finally - We can get the Javascript cookie value
// Whether Flash player is Installed in your
// System or not using PHP ..
echo $_COOKIE['flashplayer_status'];
//Thats it!
編輯:你不應該依賴於接受頭爲@bishop mentionned。
它僅適用於可靠IE瀏覽器(和它不應該;)因此)
的唯一方法是一些JavaScript邏輯。
爲IE遺留碼:
「應用程序/ x-衝擊波閃光」
if(preg_match('/x-shockwave-flash/',$_SERVER['HTTP_ACCEPT'])) {
/* flash logic comes here */
} else {
/* no-flash logic comes here */
}
我試過你的方法。使用flash啓用$ _SERVER ['HTTP_ACCEPT']'給我'text/html,application/xhtml + xml,application/xml; q = 0.9,*/*; q = 0.8'。所以不幸的是,它不起作用。 – 2014-03-30 20:46:47
[HTTP Accept確定請求的相應*響應*類型。而不是瀏覽器的功能。](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html) – bishop 2015-05-12 13:46:54
當前(2013年1月)的SWFObject V2.2鏈路現在是http://code.google。 com/p/swfobject/ – jdh 2013-01-04 14:46:33