2012-02-28 10 views
0

私は、最初のスクリプトがまだ実行中のときに2番目のPHPスクリプトを実行する必要のあるアプリケーションを作成しています。クライアントを同じページに保ちながら2番目のPHPスクリプトを実行

私はphpプログラミングの初心者ですので、私が気付いていない単純な関数があると確信しています。任意の助けを楽しみにしてい

...

シェーン

+0

'exec( 'php path/to/the/script'); ' – k102

+0

http://mywiki.wooledge.org/XyProblem –

+0

ありがとう@ k102私はそれを使用すると思います。私はPaulP.R.Oのいくつかの質問をしました。私はいくつかの助けを受けることができると答える... –

答えて

1

あなたがPHPに新しいですので、私はあなたがどの意志include/require(およびinclude_once/require_once)言語構造を探している推測しています現在のスクリプトの一部であるかのように別のPHPスクリプトを実行します。

また、別のプロセスとして実行する場合は、execshell_exec、またはbackticksを参照してください。他のPHPスクリプトをバックグラウンドプロセスとして実行する必要がある場合は、現在実行中のスクリプトがそれを待つ必要がないように、stdoutをどこかにリダイレクトする必要があります(必要ない場合はファイルまたは多分/ dev/null)終了して実行を続行します。

+0

私は彼が望んでいると思います。 – Bert

+0

私はexec演算子がうまくいくと思いますが、varを渡す必要がある場合は、どうすればいい?また、最初のスクリプトは続行するのか、それとも応答を待つのでしょうか? –

+1

@ ShaneE.BryanあなたはLinuxシェル(そしてPHP ON Linuxを実行中)に精通していますか? ''/usr/bin/php 'のような空白で区切られたコマンド文字列にそれらを追加するだけで、そのコマンドに引数を渡したい場合、execはコマンドを受け取ります。 $ filename'変数に格納されている名前のPHPスクリプトを実行します(あなたのPHPインタプリタが/ usr/bin/phpにある場合)。あなたはおそらくescapeshellargであなたの議論をエスケープしたいでしょう。あなたがstdoutを次のようにリダイレクトしない限り、スクリプトは応答を待つでしょう: 'exec( '/ usr/bin/php'。escapeshellarg($ filename) '>/dev/null');' – Paulpro

0

実際にPHPを実行してデータを返すためには、JavaScriptを使ってajax呼び出しを行う必要があります。

私は次のようになります。これは、jQueryのを好む:

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

filetocall.phpは何のように見えることができます。

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

それからちょうどどこからでもjQueryの関数を呼び出す:これは、出力が

は、例えば#div_for_return_dataに移入されますです。

関連する問題