从php web与Linux脚本通信


Communicating with Linux scripts from php web

我正在构建一个web应用程序,帮助人们提高一些单词的英语发音。网站为用户显示一个句子,用户说出这个句子,然后按下"结果"按钮。然后,web应用程序向服务器发送两个文件:.txt和.wav文件。

服务器(即Linux (Ubuntu))应该获取这些文件,并进行一些分析和计算,然后在名为results .txt的文件中打印出结果。然后,web应用程序(基于php的)应该从文件中读取结果并将其显示给用户。

问题是:我不确定什么是最好的做web应用程序和Linux服务器之间的通信。到目前为止,我已经成功地在服务器上编写了。txt和。wav文件。我可以构建一个Linux脚本来获取这两个文件并进行所需的计算。我所面临的是:我不知道如何正确有效地启动脚本。更重要的是:当脚本完成后,如何知道我可以安全地从"results .txt"文件中读取结果?我需要一个同步工具或方法。

我问了一些人,他们告诉我在服务器端使用java应用程序,但我不知道怎么做!

请帮忙??:)

首先,可以使用PHP。使用shell_exec()方法,您可以运行命令(您的Linux脚本)并读取输出。例:

$output = shell_exec("ls -l> outputFile.txt");

将当前目录列表写入名为outputFile.txt的文件

第二,您也可以使用Java做同样的事情。用途:

Runtime.getRuntime()。exec (ls - l) .waitfor ();

最后不使用waitfor()将导致shell脚本异步执行。您还可以使用

读取Linux脚本的标准输出和标准错误流。

Process.getInputStream ()

Process.getErrorStream ()

方法分别。