是否可以使用PHP检测是否安装了Flash。我的目标是,如果安装它将播放一个flv文件,如果没有,它将使用另一个播放器,例如; QuickTime的?如果有可能我该怎么做呢?
由于 汤姆
答案 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