在我的网站上,如果用户单击按钮,我会使用自定义前缀来启动连接到IP地址的程序;其中一个例子是"ts3server://IP:PORT".
问题是,如果用户没有安装程序,那么什么都不会发生;我看到了诸如"file_exists"之类的PHP函数,但它们似乎都只能在本地工作。
我的问题是;我如何让网站检查用户计算机上是否存在程序,或者在用户单击此按钮后是否存在注册表项,使其像下面的一样工作
<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
header("Location: ts3server:''IP:PORT");
} else {
echo "This program does not exist on your machine";
}
?>
你不能。
PHP是服务器端脚本语言,只能访问服务器机器的文件系统。任何连接到你的服务器的人都在通过浏览器或其他客户端访问它。通常,浏览器(或大多数客户端(都有安全措施来阻止您访问客户端文件系统。
您只能访问客户端(浏览器(在其沙盒中提供的信息,例如cookie。
通常,如果用户的机器上安装了该应用程序,就会提示用户,并相应地进行操作。
编辑
"header("位置:ts3server:''IP:PORT"(;">
我不确定你是否想使用PHP来实现这一点。。或者您想对ts3server:''IP:PORT位置做什么,但是,您可以将其作为AJAX请求运行,并检查响应代码。。如果响应不是2**,那么您知道他们的系统上没有安装它。
我也一直在寻找这个解决方案,但我认为这是不可能的。在我的情况下,我需要读取我的客户端文件夹,因为我想把配置文件放在我的客户端设备上,每个设备都有不同的配置。
在这种情况下,首先,我将配置文件放在服务器上,并使用客户端的PC名称"(例如,C:''JOHN-PC.TXT("命名接下来获取客户端电脑名称。gethostbyaddr($_SERVER['REMOTE_ADDR'])
那么文件是否存在检查
所以客户端没有文件,但是每个客户端都可以有不同的配置