【发布时间】:2011-07-24 04:16:11
【问题描述】:
好的,首先,我意识到通过 JavaScript 执行本地文件是不可能的。其次,我意识到从网页执行本地文件的能力非常危险,而且这个问题可能看起来很粗略。但是,我的研究表明,通过AJAX调用PHP函数exec(),在用户没有意识到使用JS的情况下,确实可以在本地系统中执行文件。
在我继续之前,让我先说我无意以危险的方式使用它。我的高级神经科学/计算机科学论文实际上需要这个:
使用无线脑电波监测耳机。
我需要将网页上的点击同步到另一台监控脑电波的计算机上的事件标记。
我需要在不打扰用户或在后台一遍又一遍地请求许可的情况下执行此操作,以免中断实验。
我目前正计划通过编写一个 Chrome 扩展程序来执行此操作,该扩展程序将脚本注入到选定的页面,选择我想要的元素,然后使用 AJAX 从那里单击运行该功能。
所以这是我的问题:
我对 AJAX 和 PHP 不是很熟悉。设置它以便 Javascript 在点击事件上调用 PHP 文件的最直接方法是什么?
有谁知道没有禁用 exec() 功能的网络托管公司?我知道这听起来很粗略,但我真的需要它来完成我的论文。
非常感谢!
【问题讨论】:
-
您能告诉我们本地文件中有哪些需要使用文件吗?还有许多其他方法可以将数据持久保存在用户的机器上,这些方法并不像... icky。
-
我正在运行的本地文件是一个批处理文件 (.bat),它运行一个 matlab 文件,该文件通过并行端口向正在收集脑电波数据的计算机发送一个标记,并为确切时间
-
嗯。所以,我认为你在这里不走运,除了你现有的计划。浏览器安全模型将阻止网页执行本地二进制文件和脚本——期间。浏览器插件可能是您唯一的选择,尽管我实际上不确定 Chrome 的扩展系统中是否可以本地执行。
-
我认为您可能对 exec 的工作方式感到困惑...它将允许您在 php 解释器所在的服务器上执行 shell 脚本/批处理文件...而不是在机器上用户正在浏览 - 除非它们碰巧是同一个。
-
是的,您需要设置 Web 服务器、PHP 以及您选择的任何数据库,尽管一些优质主机可以让您远程访问。有一个多合一的软件包,只需点击几下即可设置所有内容。通过在本地安装 PHP 应用程序,应用程序本身实际上可以执行命令上的批处理脚本。
标签: php javascript ajax file