PHP检测是否安装了闪存

时间:2010-03-25 12:37:55

标签: php flash quicktime

是否可以使用PHP检测是否安装了Flash。我的目标是,如果安装它将播放一个flv文件,如果没有,它将使用另一个播放器,例如; QuickTime的?如果有可能我该怎么做呢?

由于 汤姆

6 个答案:

答案 0 :(得分:8)

有一个更好的方法 -

使用SWFObject嵌入.swf文件。这几乎是行业标准,没有人知道他们正在做什么使用预先构建的Flash嵌入代码。

SWFObject会帮助你的原因是你基本上告诉它在你的网站上找到div并用包含嵌入式Flash的div替换它。如果用户没有安装Flash,没问题 - 它只是继续显示原始div。

然后,您的想法是将您的alt-content放入将被.swf替换的div中。这很好用,应该是你需要的完美。

答案 1 :(得分:6)

您无法确定服务器端(PHP运行的位置)。您必须使用JavaScript在客户端检测它,并在客户端执行所需的步骤或使用json / ajax / ...请求将结果传回服务器

您可以从Adobe下载Flash Player Detection Kit

答案 2 :(得分:2)

**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!

答案 3 :(得分:2)

编辑:你不应该依赖@bishop提到的接受标题。

它只能在IE浏览器上可靠地工作(它不应该;))

唯一的方法就是一些Javascript逻辑。

IE的传统代码:

“应用程序/ x-冲击波闪光”

if(preg_match('/x-shockwave-flash/',$_SERVER['HTTP_ACCEPT'])) {
    /* flash logic comes here */
} else {
    /* no-flash logic comes here */
}

答案 4 :(得分:0)

PHP无法检测到这一点......只有javascript可以。

http://www.adobe.com/support/flash/how/shock/javaplugs/index.html

答案 5 :(得分:0)

如果你可以使用javascript而不是jquery是更简单的解决方案。

jQuery.browser.flash

请参阅http://plugins.jquery.com/project/jqplugin