如何使用PHP获取用户的Java版本?

时间:2010-01-21 17:29:42

标签: java php version

是否有一个简单的解决方案来获取使用php在用户工作站上运行的Java版本?基本上我想知道在访问我的门户网站的用户机器上运行的Java版本。由于我们的产品是基于Java的,因此这些数据将帮助我做出一些政策决定。

5 个答案:

答案 0 :(得分:6)

唯一能够(直接)访问客户端(确定信息)和服务器端(发送信息)的客户端语言是JavaScript和ActionScript。

我认为你是一个已经不熟悉JavaScript的PHP程序员,所以我会继续这样做。幸运的是,Sun已经为这些需求提供了Java Deployment Toolkit JavaScript库。这是一个SSCCE,只是复制'n'paste'n'run它:

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2111383</title>
        <script type="text/javascript" src="http://java.com/js/deployJava.js"></script>
        <script type="text/javascript">
            alert(deployJava.getJREs()); // Show all installed JRE versions.
        </script>
    </head>
    <body>
        <h1>That's all, Folks!</h1>
    </body>
</html>

获得信息后,只需将其发送到服务器端即可。您可以通过将其作为表单的隐藏输入元素传递,或使用Ajaxical技术异步地同步执行此操作。 jQuery非常适合这一点。只需做一个$.get('script.php?java=' + deployJava.getJREs());左右。

答案 1 :(得分:1)

检查javatester.org他们使用一个小程序来获取正在运行的JVM版本。您可以修改它以将结果推送到服务器。

答案 2 :(得分:1)

如果Java正在运行,只需调用服务器上的脚本,User-Agent就会为您提供运行时环境的确切版本。由于部署工具包javascript-code仅列出了最多17个发布版本的Java 6 ...及更早版本,您将不得不猜测特定浏览器使用的是什么。

答案 3 :(得分:0)

他们的客户需要明确地向您发送此信息。如果他们通过网络浏览器访问您的网站,那就不会出现在用户代理字符串中。

另一方面,如果他们以编程方式使用Java代码访问您的站点,那么它将显示在用户代理字符串中。但鉴于您对产品的陈述,我倾向于认为这只是一个用于浏览器访问的普通网站。

答案 4 :(得分:0)

browser_get()函数将尝试告诉您Java applet的执行是否可用。

仅凭PHP,我相信这是你最好的选择。