如何使用php查询prolog源文件

时间:2012-10-18 14:57:24

标签: php prolog swi-prolog

我有一个使用PHP和后端mysql制作的网站。有一个prolog文件(.pro扩展名)我想与这个网站集成。

我的prolog源文件可以像这样查询 -

myprolog(Input, Output).

所以我给prolog输入,它通过将它绑定到Output来返回它的结果。

我期待我的一个php页面,callprolog.php说通过传递Input来查询这个prolog源文件,然后将结果从Ouput存储到php变量中进行进一步处理。

实施 - PHP 5,MySQL,SWI Prolog。

请让我知道如何在php文件和prolog源之间建立这种连接,将数据传递给/从prolog / php文件传送。

谢谢!

1 个答案:

答案 0 :(得分:2)

我做了一些项目,我需要在php和prolog(.pl)文件之间建立连接。 我就是这样做的: 我使用了这样的php exec函数:

exec(prolog_path -f $your_file_name.pro  -g your_predicate/query_goes_here)

上面的代码行是定义prolog bin文件所在的位置,告诉prolog可以查询的文件名,然后输入所需的查询。 因此,在您的情况下,上面的代码行将如下所示:

exec("\"c:/program files/swipl/bin/swipl.exe\"" -f your_prolog_filename.pro -g myprolog(Input,Output))

您可能需要更改prolog路径,但这就是我实现php-prolog连接的方式。请阅读我为您提供的链接中exec功能的工作原理。