• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:web画面から呼び出したphp処理を途中キャンセル)

PHP処理の途中キャンセル方法とは?

このQ&Aのポイント
  • web画面から呼び出したphp処理を途中キャンセルする方法について教えてください。
  • phpでwebシステムを作っています。画面上のボタンの押下イベントでphpのファイル出力処理を呼び出し、処理中にキャンセルボタンが押された時にphpを中断させたいと思っています。
  • ajaxの非同期通信でphpを呼び出して処理中画面を表示させることはできましたが、処理中断させる方法が分かりません。どのphpモジュールを終了させれば良いのか教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

んー、かなり多分。本当に多分。はたしてできるんだろうか?程度の考えですが、フラグもたせてPHP側で毎回確認して処理させるようにすればできるかも?とか思いました。 ファイル作るなり、DB使うなり、なんやかんやして、フラグを持たせて、キャンセルボタン押したらフラグ倒すようにすれば、毎回 それを確認して処理してるように作ってあるスクリプトなら、そこで処理を止めてくれるんじゃないかな?程度な発想ですみません。

miton_1
質問者

お礼

お礼が大変遅くなって申し訳ありません! 参考にさせていただきます。どうもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AjaxのOnFailureについて

    Ajax(prototype.js)を使用しているのですが、OnFailureが呼び出されてしまいます。 プログラムの流れです。 ボタン押下(html) ↓ 前処理(js) ↓ サーバのファイル情報取得(ajax非同期通信→php→戻ってきて情報取得) ↓ 取得したファイル数ループ(js) ↓ ↑ 別のサーバにコピー(ajax非同期通信→php→戻り値判定) ↓ ループ抜けたら終了処理 大量のファイルを処理した場合、4~5経過したあたりで 「別のサーバにコピー(ajax非同期通信→php→戻り値判定)」 が正常に行われず、後処理として記述してあるOnFailureを呼び出してしまいます。 OnFailureについて調べてみたのですが、MSDNのAjaxOptions クラスに 「ページの更新が失敗した場合に呼び出される JavaScript 関数。 この関数は、応答ステータス 200 の範囲内にない場合に呼び出されます。」 と記述されていました。 応答ステータスとは何を指しているのでしょうか。 回避方法があれば教えてください。 よろしくお願い致します。

  • phpの処理中に画面表示ををするには?

    phpの処理中に画面表示ををするには? phpの処理中にalertや画面表示ができるように依頼があり。 使ってはいけない方法もあり解決方法がみつからず困っています。 処理内容 5回ループする処理で1回の処理に約10秒かかる、 各回の処理が終わったところで画面表示やalertをする。 使ってはいけない方法 ・iframeやAjaxなどの非同期処理みたいな事はしない。(却下されました、、) ・このphpのループの各回でsubmitや再読み込みをさせない。 今までphpの処理が全て終わってから画面表示するイメージでいたので、 実現できるのか確認するため下記のソースを作りました。 結果:10秒ではなく50秒後にすべてのalertがでてきました。 ----------ここから---------- <html><head> <script> <!-- <? for(i=0; i<5; i++){ //10秒の処理 ?> alert("メッセージ:".i); <? } ?> //--> </script> </head> <body>無理な気がする</body> </html> ----------ここまで---------- (変数のダラは抜いています) 使ってはいけない方法以外に解決方法はあるのでしょうか。

    • ベストアンサー
    • PHP
  • PHPでDB処理中にプログレスバーを出したい

    Ajax初心者です。 PHPでDB処理が長くブラウザタイムアウトが発生してしまう為 DB処理中はブラウザに処理中画面(プログレスバー表示有り)を 表示したいのですが、Ajaxを使ってプログレスバーを動かす 方法があれば方式を教えてください。

  • Ajax以外で、JavaScriptからPHPへ渡

    Ajax通信以外で、JavaScriptからPHPへ変数(配列)を渡したいのですが、 可能でしょうか? 下記のような状態の時、js変数dataを、Ajax通信を利用せずにPHP変数として取得したいのですが、どうすればよいでしょうか? JavaScript関数の中で、PHPフォームの送信ボタンをクリックさせる(ような)ことは出来ないのでしょうか? <button type="button" onclick="testsubmit();">送信</button> <script> function testsubmit(){  js処理;  var data = ★★; } </script> ■最終的にやりたいこと ・ボタンをクリックしたら、js処理で取得したjs変数(配列)を、Ajax通信を利用せずに、PHP変数として受け取りたい ・それを出来れば1クリックで処理したい

  • 画面非表示で処理だけしたい

    PHPファイルを別のPHPプログラムのボタンを押す事により実行させたいのですが、非表示で処理だけ実行させる事はできるのでしょうか?(ボタンがある画面は表示したままで)

    • ベストアンサー
    • PHP
  • WEB画面を非表示にして印刷

    WEB画面上で以下のようなことがしたいのですが、可能でしょうか? 可能な場合、記述方法を教えてください。 使用言語はPHPとjsでお願いしたいです。 1.test1.phpの画面内印刷ボタンをクリック(formもしくはjs処理で2へ。引数を渡します) ---ポップアップで「印刷中です」と表示---(test2.php内に記述?) 2.test2.phpでtest1.phpからの引数を用いた内部処理を実行して印刷画面(体裁記述はhtml)を作成 3.印刷実行(window.print()?)(ローカルのプリンタ設定画面(Windowsポップアップの「印刷」というもの)が表示されてしまう?) ---印刷終了したらポップアップを閉じる--- という感じなのですが、 ・test2.phpのWEB画面を表示せずに(表示はtest1.phpのまま)印刷することは可能なのでしょうか? ・3.のローカル側の確認画面もできれば出したくないです。でもこれは難しそうですよね…? ・また、もしどうしてもtest2.phpの画面が表示されたとしても、印刷終了時にtest1.phpへ戻りたいです。 ・印刷の開始、終了を検知することはできるのでしょうか? やりたいことは以上のような感じなのですが、もし上記が難しくても、別の処理フローや代替案があれば教えていただきたいです(>_<) よろしくお願いしますm(__)m

  • オブジェクトの処理を途中でキャンセルさせたい

    いつもお世話になっております。 WindowsXP(SP2) Visual Basic6.0(SP6) を使って開発しています。 現在困っていることがあり、質問させて頂きました。  A.exe  B.dll があるとします。A.exeがB.dllを参照設定して使っています。 このB.dllは、  clsMain.cls  frmMain.frm  clsSub.cls から構成されています。  clsMain.clsで Set evtfrmMain = New frmMain  frmMain.frmで Set evtclsSub = New clsSub として、それぞれ関係付いています。 clsSubの中ではファイル関係の処理をしているのですが、グルグルとループするような処理をしている最中に、A.exeでキャンセルボタンを押したら、その処理を中断させたいと思っています。 A.exeからclsMain、clsMainからfrmMainへはキャンセルボタンが押されたことを通知出来るのですが、clsMainからclsSubへ通知する方法が分からず困っています。 clsSubの処理は、長い時は10分近く掛かるので、どうしても中断出来るようにして置きたいのです。 なにとぞご教授のほど、宜しくお願いします。

  • ajaxでエラー処理

    お世話になります。 prototype.jsを使ってajaxのエラー処理を考えております。 そこで質問なのですが、以下のソースで OK.phpでは正常に処理が行われ、 NG.phpでは強制的にonFailure処理を行わせたいと考えております。 PHP側(NG.php)で、操作出来ませんでしょうか? よろしくお願いいたします。 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> <!-- function ajax(fName) { var filename = fName + "?cache="+(new Date()).getTime(); new Ajax.Request(filename, { method: "get", onSuccess: displayData, onFailure: displayError }); } function displayData(httpObj) { $("result").innerHTML = httpObj.responseText; } function displayError(httpObj) { $("errMsg").innerHTML = httpObj.responseText; } // --> </script> </head> <body> <input type="button" value="正常処理" onClick="ajax('OK.php')"><br> <input type="button" value="エラー処理" onClick="ajax('NG.php')"><br> <div id="result"></div> <div id="errMsg"></div> </body> </html>

  • phpのsubmit処理について

    phpのsubmit処理について不明点があります 実装したいことは ボタンを押したらフォームの入力内容を別フォームに表示したいのですが 別フォームに呼び出しはできたのですが ボタン押下時にsubmitで表示するかの確認をしたいです 現段階ではボタンを押すと確認アラートも出ず、ただ別フォームが表示される形になってしまいます <--関数--> function showData(){ myRet = confirm("表示しますか") if (myRet == true){ } } <--form--> <form name = "FileData" action = "show.php" method="POST"> <--button--> <input type = "submit" name ="Display" onClick "showData();" value="表示"> ソースの抜粋になります これで実行するとshow.phpが呼ばれて表示はされるのですが関数が呼ばれず確認アラートも呼ばれません すぐ実行されるというものになっていますます この現象の原因と何か解決などわかることがあればよろしくお願いします。

    • ベストアンサー
    • PHP
  • 画面を閉じる(×ボタンやタスクバーから)をトリガーに処理を行えるのでしょうか?

    親画面から子画面をポップアップ表示し、子画面に作成したボタンから(window.opener)をコールして、子画面を閉じる→親画面の処理を行う、という処理を実現しています。 ボタン押下時にJavaScriptをコールすることで処理は行えるのですが、ウィンドウの右上にある「×」ボタンや、タスクバーを右クリック→閉じるなどを行った際にも同じような処理を行うことはできるのでしょうか? 「画面が閉じられた」というトリガーにて処理を行うことができるのでしょうか? onUnloadイベントを試しましたが、「×」ボタンや、タスクバーを右クリック→閉じる場合は処理がおこわなわれませんでした。 よろしくおねがいします。