2014-02-18 19 views
1

我有一些用Python編寫的腳本,它們上傳文件讀取數據庫並修改上傳的文件。我想做一個門戶網站做同樣的工作。PHP和Python的集成:從PHP頁面調用python腳本並回復它

可以從PHP代碼中調用這個Python腳本嗎?

I found and here and also here 但是如何傳遞參數呢?我將如何將上傳的文件傳遞給它?或者可以將該代碼保存到Python腳本中嗎?

Python腳本生成交互式批量結果。如何恢復與PHP頁面上的?

我試圖找到答案,我發現了很多,但我不知道最好的辦法。

有人可以給我最好的場景來設計這個系統嗎?

編輯:問題場景

  • 我要問用戶上傳文件。
  • 我會根據該文件中的信息查詢數據庫。
  • 文件可以有數百個單位,我必須查詢數據庫並提示用戶選擇相關單元。
  • 完整的過程是交互的,直到文件中的單元數量。
  • 根據用戶選擇,我修改了上傳的文件並將其提供給用戶。
+0

我見過它。這個問題是我的python腳本中有很多數據。我如何將它發回PHP頁面? –

+0

您返回一個數組.... .... $ tmp = exec('pyhon myscript。py $ myvariables');',那麼你做'foreach($ tmp as $ item):echo $ item; endforeach;'...並在python中導入sys',然後打印sys.argv [1],sys.arv [2]等等。 – Ohgodwhy

+0

我在我的Que中提到了兩個相關的問題。我想要更多的東西。 –

回答

3

有很多方法來解決這個問題,短短几年從我的頭頂:

  1. 創建隊列,你的PHP腳本的存款工作,你的Python腳本讀取項目,執行工作,然後更新狀態表。

  2. 爲您的PHP腳本(或任何其他腳本)可以使用的Python腳本創建一個API。

  3. 將您的輸入轉儲到Python腳本監視數據的目錄中,然後將結果寫入文件系統,您可以在其中使用PHP讀取和顯示它。

還有更多的情況下,您可以使用,但由於您沒有提供有關係統就很難推薦解決方案的任何信息。例如,您是否需要間斷更新正在完成的工作狀態?這項工作是否可以排隊或將阻止您的PHP應用程序?這兩個腳本是在同一個系統還是分發?你如何在兩個腳本之間進行通信?

只有在您給我們您的系統限制時才能提供「最佳」。

+0

好吧,我只是編輯我的問題,並提供一些更多的信息。感謝您提到的場景。 –

+0

我可以根據文件中的內容搜索db中的內容。還可以通過選擇最佳選項的方式返回給用戶。我以前使用java開發android和web應用程序。這是我在Python和PHP中的第一份工作。那麼該怎麼做? –