【问题标题】:Execute program php linux执行程序php linux
【发布时间】:2011-02-11 22:48:01
【问题描述】:

我正在开发一个 Web 应用程序,但我陷入了困境:

我想创建一个触发本地程序执行的简单标记 如gedit、mozilla firefox等

我的项目基于 HTML、Javascript 和 PHP。

我知道 Javascript 不允许这种执行方式,但也许 PHP 允许?

谢谢!

【问题讨论】:

  • 本地如在客户端计算机上?客户端看不到您的 php,它全部被解析并在服务器端运行,输出被发送到客户端。所以你不能用php在客户端上做任何事情。我什至不确定你为什么要这样做......
  • 我只是想在本地启动一个程序(意思是该程序位于运行该应用程序的机器中)......不可能吗?甚至不使用Javascript?
  • 你基本上是想通过 html/javascript 重新创建一个远程桌面类型的东西?对不起,不去上班。 HTTP 协议不是为这样的事情而设计的。有可以在浏览器中工作的远程桌面客户端,但在内部它们不使用 http
  • 如果您为公司的 Intranet 编写应用程序,您可以将浏览器配置为专门响应文件扩展名(例如,.xyz 打开 gedit)。然后您的 PHP 程序生成所需的标头以告诉浏览器即将到来的数据流,具有给定的扩展名、二进制格式等...用户(客户端)将看到一个弹出窗口(您要打开 @987654323 @ 获取即将到来的.xyz 文件?)并回答yes 开始下载。下载完成后,gedit 会打开并下载临时文件,作为参数给出。

标签: php javascript html exec


【解决方案1】:

PHP 代码在服务器上运行;它对 Web 浏览器中发生的事情没有影响。它所能做的就是生成 HTML 和 Javascript 供 Web 浏览器处理,它不能直接在客户端机器上执行任何操作,所以不,没有办法这样做。

【讨论】:

  • 我想有人会想要一个可以在服务器上生成无限 gedit 实例的站点。他们会用它做什么,除了让它成为 DoS,我不知道。
  • 是否可以使用任何客户端技术来做到这一点?
  • 这真的是一个安全问题——浏览器不应该,通常也不会——允许网站与计算机上安装的其他软件进行交互。然而也有例外。一些软件应用程序将自己注册到浏览器以允许自己被执行。例如,大多数即时消息应用程序、MS Office 和 Adob​​e Reader 等都具有此功能。这些应用程序可以通过更改链接来定位。 IM 会导致 Yahoo!例如,Messenger 向“用户”打开一个 IM 窗口。
【解决方案2】:

您可以使用 exec() 函数执行此操作,但程序已在服务器上执行,而不是在客户端执行

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    相关资源
    最近更新 更多