2012-02-28 31 views
0

我正在創建一個應用程序,要求我在第一個腳本仍在運行時運行第二個php腳本。運行第二個PHP腳本,同時保持客戶端在同一頁

我是新來的PHP編程,所以我確定有一個簡單的功能,我可以使用,我只是不知道。

期待任何幫助......

巴蒂爾

+0

'exec('php path/to/the/script');' – k102 2012-02-28 05:43:23

+0

http://mywiki.wooledge.org/XyProblem – 2012-02-28 05:43:53

+0

謝謝@ k102我想我會使用它。我還問了幾個關於PaulP.R.O的問題。回答:我可以在... – 2012-02-28 06:10:30

回答

1

既然你是新的PHP我猜你正在尋找的include/require(和include_once/require_once)語言結構這將執行另一個PHP腳本,就好像它是當前腳本的一部分一樣。

否則,如果您希望它作爲單獨的進程運行,請查看execshell_execbackticks。如果您需要另一個PHP腳本作爲後臺進程運行,請確保將stdout重定向到某處(如果不需要它,則可能是/ dev/null),以便當前正在執行的腳本不必等待它完成繼續執行。

+0

上使用一些幫助,絕對是我想他想要的。 – Bert 2012-02-28 05:53:21

+0

我認爲exec運算符會很好,但如果我需要傳遞var。我會怎麼做?第一個腳本還會繼續還是等待響應? – 2012-02-28 06:07:12

+1

@ ShaneE.Bryan你是否熟悉linux shell(並且在Linux上運行PHP)?如果你想傳遞參數給命令,exec可以接受一個命令,你可以將它們追加到由'/ usr/bin/php'這樣的空格分隔的命令字符串中。 $ filename'來運行一個名爲變量'$ filename'的PHP腳本(如果你的PHP解釋器位於/ usr/bin/php中)。你可能也想用escapeshellarg逃避你的論點。該腳本將等待響應,除非您將stdout重定向到某處:'exec('/ usr/bin/php'。escapeshellarg($ filename)。'>/dev/null');' – Paulpro 2012-02-28 06:28:07

0

這實際上會要求我們使用一些Javascript進行ajax調用來執行我們的PHP並返回它的數據。

我喜歡jQuery的,這將類似於此:

function callPHP(){   
    $.post('./filetocall.php', {variableid: 'id'}, function (response) { 
         $("#div_for_return_data").val(response); 
       }); 
} 

filetocall.php可以看起來像什麼。它的輸出將填充#div_for_return_data

如:

<?php echo $_GET['variableid']; ?> 

然後,只需從任何地方調用jQuery函數。