1

我有一个 fortran 程序,我想从 php 调用它,并通过网站从 php 传递一些参数。

我已经设置了 php 表单,但我不知道如何将信息发送到 fortran。目前,信息通过提示输入到fortran程序中:

write(\*,'("give input image name:",$)')
read(\*,\*) iminput

所以我想发送一个数组或类似的东西,这样我就可以拥有

CHARACTER(LEN=*) :: iminput 

iminput = post(1)

或类似的东西。

4

1 回答 1

5

如果您的程序期望其参数作为标准输入而不是命令行参数,您仍然可以使用管道自动传递信息。例如,如果程序询问您的姓名和年龄,您可以从 shell 一次性输入这些信息,而无需等待它询问,方法是:

echo -e "user1795485\n1 day" | theprogram

对于您的问题,您需要能够运行程序,写入其标准输入,然后从其标准输出中读取其响应。我认为proc-open会让你做到这一点。我认为该页面上的示例 1 正是您想要的。基本上,您会调用proc-open,然后写入 fortran 程序期望的信息,关闭写入句柄,然后读回结果。请注意,不需要以任何方式修改 fortran 程序。

于 2012-11-02T22:09:15.330 回答