- 締切済み
ブラウザから非同期プログラムを流す方法がわかりません
ブラウザで確定ボタンを押した際、 バックグラウンドで20秒くらいかかる 長いプログラムを走らせたいのですが、 どうすれば実現できるでしょうか? UNIXだと? ・passthru("php batch.php >/dev/null "); Windowsだと方法はないでしょか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- foreach
- ベストアンサー率51% (43/84)
回答No.1
20秒というので相当重い処理ですよね。 実際どうなるかは分かりませんが、Ajax使えば行ける気がします。 参照URLから行けるサイトでprototype.jsを拾ってきてHTMLにincludeします。 確定ボタンを押したらAjax.Requestを走らせて、Ajax.Request内のonCompleteに戻ってきた後処理を書けば良いのではないでしょうか?
お礼
回答ありがとうございます。Ajaxは世の中に簡単で面白く学習できる題材の本がなく挫折中です(><) Windowsはとりあえず諦めUNIXのみで検証するようにしました。System関数のphpの前に SCRIPT_FILENAME=phpで流すファイル名[半角スペース] を書く事で動作することがわかりました。 環境変数を書かないと動作しないのは、サーバーに依存するようです。