2012-10-18 53 views
0

我有一個網站使用PHP和後端mysql。有一個prolog文件(.pro擴展名),我想與本網站集成。如何查詢prolog源文件使用php

我的序言源文件可以查詢這樣的 -

myprolog(Input, Output). 

所以我給序言輸入,並通過其綁定到輸出返回其結果。

我期待着我的一個php頁面,說callprolog.php通過Input來查詢這個序言源文件,然後將結果從Ouput存儲到一個php變量進行進一步處理。

實現 - PHP 5,MySQL,SWI Prolog。

請讓我知道如何在php文件和prolog源文件之間建立這種連接,將數據傳遞給/從prolog/php文件。

謝謝!

回答

2

我已經做了一些項目,我需要在php和prolog(.pl)文件之間建立連接。 這是我做的: 我用PHP exec功能是這樣的:

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

什麼上面的代碼行的作用是定義您的序言bin文件駐留,告訴Prolog是要高度重視該文件的名稱被諮詢,然後輸入所需的查詢。 所以,你的情況,上面的代碼行會是這個樣子:

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

您可能需要改變序言路徑,但是這就是我achived了PHP的序言連接。請閱讀我爲您提供的鏈接中的exec函數。

+1

也許OP還應該使用第二個參數來執行exec來捕獲輸出(他們需要打印出來,也許就像之前的一個問題一樣);而不是'Input',用'myprolog/2'將實際的輸入放到查詢中。也許你會將這個信息添加到你的答案? –