• 締切済み

ブラウザから非同期プログラムを流す方法がわかりません

ブラウザで確定ボタンを押した際、 バックグラウンドで20秒くらいかかる 長いプログラムを走らせたいのですが、 どうすれば実現できるでしょうか? UNIXだと? ・passthru("php batch.php >/dev/null "); Windowsだと方法はないでしょか?

みんなの回答

  • foreach
  • ベストアンサー率51% (43/84)
回答No.1

20秒というので相当重い処理ですよね。 実際どうなるかは分かりませんが、Ajax使えば行ける気がします。 参照URLから行けるサイトでprototype.jsを拾ってきてHTMLにincludeします。 確定ボタンを押したらAjax.Requestを走らせて、Ajax.Request内のonCompleteに戻ってきた後処理を書けば良いのではないでしょうか?

参考URL:
http://www.imgsrc.co.jp/~kuriyama/prototype/prototype.js.html
php4
質問者

お礼

回答ありがとうございます。Ajaxは世の中に簡単で面白く学習できる題材の本がなく挫折中です(><) Windowsはとりあえず諦めUNIXのみで検証するようにしました。System関数のphpの前に SCRIPT_FILENAME=phpで流すファイル名[半角スペース] を書く事で動作することがわかりました。 環境変数を書かないと動作しないのは、サーバーに依存するようです。

関連するQ&A