如何使用php

时间:2015-07-22 04:47:47

标签: php windows-8 octave

我有一个Octave文件 sr.m

sqrt(3^2 + 4^2)

我必须使用 PHP 执行此文件并在浏览器中显示输出。 sr.m 文件位于octavepgm的{​​{1}}文件夹中。

我的 php 代码是

Desktop

这给出了int 1作为输出。

我怎样才能使这个工作..请帮助我..

预期产量为5.

1 个答案:

答案 0 :(得分:0)

有几个问题我会进一步解释,但这里是你如何做到的:

$ php -a
Interactive mode enabled

php > $cmd = "octave -qf --eval 'printf (\"%f\", sqrt (3^2 + 4^2));'";
php > $output = exec ($cmd);
php > var_dump ($output);
string(8) "5.000000"

问题#1:

您正在使用passthru(),但如果您想捕获八度音的输出,则应该使用exec()。这在PHP手册(重点添加)中解释:

  

passthru()函数类似于exec()函数   执行命令。应该使用此函数代替exec()或   system()当Unix命令的输出是二进制数据时   需要直接传递回浏览器。

问题#2:

如果您只想要Octave的结果,则应使用printf(),否则您将获得变量的显示,包括ans =部分。此外,使用printf(),您可以更好地控制输出的格式。

问题#3:

对于这种简单的情况,请使用Octave的--eval选项。